71231

Создание и компиляция проекта в среде IAR. Написание простейшего модуля на языке Assembler

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Целью данной работы является ознакомление с одной из популярнейших сред разработки программ для микроконтроллеров IAR Embedded Workbench IDE. Последовательность действий при создании проекта: Создадим новый проект Project=>Create New Project.

Русский

2014-11-04

139.57 KB

6 чел.

7

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение                                                                         

                       высшего профессионального образования

«ТОМСКИЙ  ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»

(ТУСУР)

Кафедра Электронных Средств Автоматизации и Управления

(ЭСАУ)

Лабораторная работа №1

Создание и компиляция проекта в среде IAR. Написание простейшего модуля на языке Assembler

По дисциплине

«Микропроцессорные средства систем автоматизации и управления»

Выполнил ст. гр. 530

Рачеев А.О.

«___» ___________

Проверил ст. пр. ЭСАУ

Недяк С.П.

«___» ___________


Целью  данной   работы   является   ознакомление  с  одной  из  популярнейших  сред разработки программ для микроконтроллеров IAR Embedded Workbench IDE.

  1.  Последовательность действий при создании проекта:

Создадим новый проект Project=>Create New Project.

Выбираем шаблон проекта( ProjectTemplates  ) : C-main

 Рисунок 1.1

Сохраняем проект под   именем arr.

Далее в свойствах  проекта выбираем  модель микроконтроллера Milandr 1986BE9x  (Рис 1.2).  Для этого правой кнопкой мыши щелкаем по нашему проекту,  выбираем Options…и в GeneralOption

Рисунок 1.2

на закладке  Target     (Рис 1.3) выберем модель микроконтроллера   Milandr 1986BE9xp[-0pp055555555555555555…….

Рисунок 1.3

В  случае,   если  в  списке  отсутствует  Milandr,  попробуйте  проверить  файлы,  которые скопировали в корневую директорию среды разработки IAR.

  1.  Разработка первой программы для микроконтроллера

Исходный текст функции main() на языке С:

В открытом окне  main  введем следующий  код:

int main()

{

 

 float a=5.75;

 float r;

 for(int i=5; i<a; i++)

{

   r=a*4;

}

 

 return 0;

 

}

Рисунок 2.1 Пример работы программы в ассемблере.

Int main ()

Main:

PUSH    {R4, R6, LR}           //сохраняем регистры.

float a=5.75

LDR.N    R4,  ??main_0

//Загрузка адреса метки в регистр R4. Используем 1б-битную команду Thumb; N = Narrow (узкая).

for(int i=5; i<a ; i++)

int i=5

MOVS    R5, #5   // Помещаем  в регистр R5 число 5. Наличие суффикса S -  состояние флагов условий изменяется в соответствии с результатом операции (APSR).

Помещение в регистр R4 числа 1.5 (1069547520 -представление числа 1.5 в памяти). Наличие суффикса  S -  состояние флагов условий изменяется в соответствии с результатом операции (APSR). Используем 32-битную команду Thumb-2; W- Wide (широкая)

int a=3

MOVS R0, #3   Помещение в регистр R0 числа 3. Наличие суффикса S.

float c=2.5;   

LDR.N  R5, ??main_0   

Загрузка адреса метки в регистр R5. Используем 1б-битную команду Thumb; N = Narrow (узкая)

float d=5.5;

LDR.N  R6, [PC, #0x20]

Загрузка в регистр R6  содержимого ячейки памяти по адресу (PC + 0x20). Наличие суффикса N.

b=b-a;

BL __aeabi_i2f     Переход к метке  «__aeabi_i2f  »

MOVS R1, R0     Помещение содержимого регистра R0 в регистр R1. Наличие суффикса S.

MOVS R0, R4   Помещение содержимого регистра R4 в регистр R0. Наличие суффикса S.

BL __aeabi_fsub  Переход к метке  «__aeabi_fsub » Функция, осуществляющая вычитание.

MOVS R4, R0     Помещение содержимого регистра R0 в регистр R4. Наличие суффикса S.

d=d*c;

MOVS R0, R6     Помещение содержимого регистра R6 в регистр R0. Наличие суффикса S.

MOVS R1, R5     Помещение содержимого регистра R5 в регистр R1. Наличие суффикса S.

BL __aeabi_fmul  Переход к метке « __aeabi_fmul  » Функция, осуществляющая  умножение

MOVS R6, R0     Помещение содержимого регистра R0 в регистр R6. Наличие суффикса S.

Следующие функции выполняют действия (инициализация, вычитание, умножение) с переменными типа Float, описанные на си, в ассемблере:

??main_0   

__aeabi_i2f     

__aeabi_fsub

__aeabi_fmul  

 Функции уже заложены в программе и соответственно заложен эмулятор с плавающей точкой, сделанный разработчиками (за что им спасибо), для выполнения операций с плавающей точкой.

Return 0;

MOVS R0, #0         Помещение в регистр R0 числа 0

POP  {R4-R6, PC}  Восстанавливаем содержимое реrистров R4,R5,R6 и возвращаемся

Описание синтаксиса команд PUSH и РОР:

Загрузка регистров в стек и извлечение регистров из стека («полный» убывающий стек).

Синтаксис:

PUSH{coпd} reglist

POP{coпd} reglist

где

coпd - необязательный суффикс условия выполнения;

reglist -  непустой список регистров, заключённый в фигурные скобки. Может включать в себя диапазоны регистров. При наличии в списке более одного регистра или диапазона регистров элементы списка разделяются запятыми.

Ограничения

. reglist не должен содержать SP.

. reglist команды PUSH не должен содержать Ре.

. reglist команды РОР не должен содержать РС, если в нём содержится LR.

При наличии Ре в reglist команды РОР:

. бит [О] загружаемого значения должен быть установлен в 1 для корректного выполнения команды; переход осуществляется по этому адресу, выровненному на границу полуслова;

. если команда условно выполняемая, то она должна быть последней командой в IT-блоке.

 

Вывод: В ходе лабораторной работы были освоены основные  команды ассемблера с помощью IAR.


 

А также другие работы, которые могут Вас заинтересовать

27076. Стр-ра КИС. Основные функциональные задачи 921.26 KB
  Главной задачей такой системы является информационная поддержка производственных административных и управленческих процессов бизнеспроцессов формирующих продукцию или услуги предприятия то есть необходимо рассмотрение всех бизнеспроцессов и как следствие поддержка основных бизнеспроцессов. Технологическая стрра инф системы. 3уровневая архитектура: 1 подсистемы сбора хр накопления данных В каком виде может существовать Распределенные системы данных; БДболее жестко поддерживают структуру; КорпХДболее абстрагированная...
27077. Управленческие автоматизированные ИС. Концепция интегрированной управленческой АИС 249.57 KB
  Интегрированная АСУ обеспечивает согласованное и координированное решение задач с учетом временной и уровневой иерархии за счет разделения общей задачи управления по фазам планирования регулирования учета анализа а также временной иерархии задач внутри каждой фазы. В ИАСУ обеспечиваются координация процессов исследования хода производства оперативного и перспективного планирования и адаптация системы за счет изменения состава и взаимосвязей между задачами а также характера взаимодействия между ее компонентами. История развития ERP 6070...
27078. Архитектура CRM-систем 145.48 KB
  Объяснить что такое CRM Что такое архитектура Как архитектура относится к классу данной системы CRM – Customer Relationship Management – система управления взаимоотношениями с клиентами. CRM системы стали нужны на высоко конкурентном рынке где в фокусе стоит клиент. Главная задача CRM систем – повышение эффективности бизнес процессов сосредоточенных во фронтофисе направленных на привлечение и удержание клиентов – в маркетинге продажах сервисе и обслуживании независимо от канала через который происходит контакт с клиентом.
27079. Архитектура ERPII-систем 142.37 KB
  Объяснить что такое ERPII Что такое архитектура Как архитектура относится к классу данной системы ERPII Enterprise Resource and Relationship Processing – Управление внутренними ресурсами и внешними связями предприятия. Появление концепции ERP II связано с началом широкого применения Интернеттехнологий в практике корпоративного управления. По мере развития соответствующего программного обеспечения и его интеграции с ERPпродуктами корпоративные системы управления стали выходить за традиционные рамки автоматизации операций внутри...
27080. Архитектура ERP-систем 134.57 KB
  Архитектура ERPсистем. Объяснить что такое ERP Что такое архитектура Как архитектура относится к классу данной системы 1. ERP – Enterprise Resource Planning Управление ресурсами предприятия – это методология эффективного планирования и управления всеми ресурсами предприятия которые необходимы для осуществления продаж производства закупок и учета при исполнении заказов клиентов в сферах производства дистрибьюции и оказания услуг. ERPсистема –это система реализующая эту концепцию.
27081. Архитектура MRP II 131.24 KB
  Архитектура MRP II Объяснить что такое MRP II Что такое архитектура Как архитектура относится к классу данной системы 1. Концепция MRP II– Manufacturing Resource Planning – Планирование производственных. В отличие от MRP рассматривающего производственные мощности как неограниченные MRP II содержит специальную функцию позволяющую согласовывать потребности в материалах с возможностями производства. Таким образом MRP II представляет собой сочетание планирования по MRP с функцией CRP включая управление складами снабжением продажами и...
27082. Архитектура MRP-систем 132.39 KB
  Архитектура MRPсистем. Объяснить что такое MRP. В 60е годы был разработан метод MRP Material Requirements Planning – Планирование потребностей в материалах позволяющий устранить недостатки простейших систем управления запасами. MRP базируется на данных основного производственного плана при составлении которого за исходную точку принимается ожидаемый спрос на готовую продукцию либо иные возникающие потребности в материалах.
27083. MRP II (Manufacturing Resources Planning) 34.44 KB
  В общем случае можно выделить следующие направления:  планирование бизнеса  планирование производства  формирование основного производственного планаграфика  MRP  CRP Системы MRP II предполагают вовлечение в информационную интеграцию финансовой составляющей планирование бизнеса. В системах MRP II предполагается специальный инструментарий формирования финансового плана и составления бюджетных смет прогнозирования и управления движением денежных средств на основании которых определяется возможность реализации производственного...
27084. MRP (Material Requirements Planning) 17.84 KB
  MRP Material Requirements Planning MRP системы интенсивная разработка теории которых осуществлялась с начала 60 годов в настоящее время присутствуют практически во всех интегрированных информационных системах управления предприятием. В настоящее время использование современных интегрированных систем на Российских предприятиях пока не нашло широкого распространения тем более функциональности планирования материальных ресурсов MRP В каких случаях использование MRP систем является целесообразным Прежде всего необходимо заметить что MRP...