71231

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

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

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

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

Русский

2014-11-04

139.57 KB

7 чел.

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.


 

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

73784. Организация рабочего места психолога 24.72 KB
  Рабочего кабинета психолога с сейфом для хранения материалов. Рабочее место психолога должно быть автоматизировано: персональный компьютер с программным обеспечением; фонд психологических методик; закрытые шкафы для хранения психологической информации и документов конфиденциального характера; учебно-методические материалы психологический календарь почтовый ящик психолога психологические советы дня рекомендации для педагогов родителей и учащихся разного возраста; тематический стенд по актуальным проблемам социальной возрастной и...
73785. Специфика подготовки практических психологов 56.21 KB
  Психологическая структура учебной деятельности. Для того чтобы студенты могли более эффективно организовывать свою учебу им полезно уже с первых дней обучения познакомиться с основными положениями психологической теории учебной деятельности. Оно является процессом и результатом активной познавательной прежде всего мыслительной деятельности самого учащегося по поиску добыванию и умственной переработке научных знаний а также по применению этих знаний в жизни. При преобладании деловой мотивации мотивы учебной деятельности совершенно не...
73786. Отечественные и зарубежные профессиональные психологические сообщества 18.71 KB
  Помимо национальных ассоциаций в Союз входят различные международные объединения специализированной направленности например Международная ассоциация прикладной психологии Европейская ассоциация экспериментальных социальных психологов Европейская ассоциация психологии личности Международное общество изучения развития поведения и ряд других. В России таким обществом является Российское Психологическое Общество в США Американская Психологическая Ассоциация в Великобритании Британское Психологическое Общество и т. В ряде стран...
73787. Формы практической психологической работы (индивидуальная, групповая, тренинг и коучинг) 25.32 KB
  Одним из главных преимуществ психологической работы в группе является то что групповой опыт противодействует отчуждению. Оказавшись в тренинговой или психотерапевтической группе человек избегает непродуктивного замыкания в самом себе со своими трудностями и обнаруживает что его проблемы не уникальны что и другие переживают сходные чувства. Сплошь и рядом в группе человек встречает людей у которых имеются такие проблемы в сравнении с которыми собственная это просто цветочки. Однако если жизненные трудности переживаемые человеком в...
73788. Культурно-исторические предпосылки формирования потребности общества в психологических знаниях. Место психологии в современном мире 23.68 KB
  Место психологии в современном мире. Но в те времена психологии как отдельной науки еще не было. Появление психологии в Древней Греции на рубеже VIIVI вв. Естественно что в обширном предмете философии к психологии относилась область связанная в первую очередь с человеком да и само исследование души психики связывалось преимущественно с особенностями психики человека.
73789. Социальный заказ на профессию психолога 17.72 KB
  Социальный заказ на работу практического психолога формируется в обществе или точнее в некоторой его части осознавшей необходимость в профессиональной помощи для преодоления возникших трудностей. Первыми осознали важность и нужность особого вида деятельности психолога практической представители профессий типа человекчеловек по типологии Е. Представления окружающих о содержании работы психолога неконкретны его профессиональные возможности нередко преувеличиваются.
73790. Отличие житейской психологии от научной 14.53 KB
  Житейские знания конкретны связаны с конкретными жизненными ситуациями а научная психология стремится к обобщенному знанию основанному на выявлении общих закономерностей жизни и поведения людей. Житейские знания больше носят интуитивный характер а в психологической науке стремятся к рациональному объяснению психических явлений то есть к лучшему их пониманию и даже прогнозированию. Житейские знания передаются в очень ограниченных вариантах из уст в уста через письма и т. а научные знания передаются через специальную систему фиксации...
73791. Профессиональный психолог как ученый – исследователь, прикладник и практик 18.26 KB
  Психологи работающие в области научной психологии проводят научные исследования психических явлений закономерностей психических процессов состояний свойств. Психологи работающие в сфере научной психологии проводят психологические исследования. Основные задачи их исследовательской деятельности: Психологи-исследователи работают в научных институтах и центрах в психологических лабораториях университетов и институтов в отделах прикладной психологии отраслевых научно-исследовательских институтов и университетов. Еще одной сферой...
73792. Система основных направлений деятельности практического психолога и их общая характеристика 15.12 KB
  В результате формируется концепция в которой отражаются представления психологов о наиболее существенных особенностях людей определенного типа и исходя из этого понимания обосновываются способы психологической помощи им. С какой бы позиции помощи содействия поддержки или сопровождения ни рассматривать деятельность практического психолога в любом случае можно говорить о пяти основных направлениях этой деятельности...