Print this page

IAR AVR. Пошаговый мануал по созданию первого проекта

04/11/2009 - 21:28
   Запускаем IAR AVR. Откроется окно Embedded Workbench Startup, можно создать проект ипользуя его, но мы пойдем другим путем, поэтому жмем Cancel. Окно закроется и перед нами во всей своей невзрачной красе  предстанет IAR.
   Выбираем в верхнем меню Project > Create New Project…



IAR предложит выбрать тип шаблона проекта (Project templates). Выбираем C > main и кликаем Ок. 



В стандартном Save As диалоге находим или создаем папку и сохраняем проект. Проект готов. Приглядимся к IARу.



   Верхняя строка – почти стандартный menu bar. Ниже - tool bar с кнопками.
   С правой стороны находится редактор кода. Сейчас там открыт файл main.c, но в нем только пустая функция main().
   С левой стороны расположено окно рабочего пространства (workspace), в котором отображается структура проекта. Любой IARовский проект  должн находиться по-крайней мере в одном рабочем пространстве.  
   В верхней части рабочего пространства находится выпадающее меню. Это так называемые конфигурации проекта. По умолчанию их две – Debug и Release. Они отличаются между собой настройками проекта. Можно создавать свои конфигурации.
 
   Сохраним рабочее пространство. Если не сделаем сейчас, придется делать это на этапе компиляции. Выбираем в меню File > Save Workspace



   Зададим настройки проекта для конфигурации Debug. Выбираем в меню Project > Options



или кликаем правой кнопкой мышки по галочке напротив названия проекта.



Откроется диалоговое окно с множеством настроек.  

Выбираем тип микроконтроллера
General Options > Target > Processor configuration
У меня это ATmega8535.  



Разрешаем использование имен битов определенных в хедер файле
В General Options > System ставим галочку Enable bit definitions in I/O-Include files



Хоть нам и не понадобится сейчас эта настройка, полезно знать где она находится.

Включаем генерацию ассемблерного листинга. Необязательная опция, но я обычно включаю, чтобы посмотреть что натворил компилер.
С/С++ Compiler > List > галочка Output List File



Меняем формат выходного файла
Linker > Output.
B поле Output file cтавим галочку Override default и заменяем расширение d90 на hex
В поле Format выбираем Other и в выпадающем меню Output format выбираем тип файла intel-standart



Жмем ОК.
Теперь копируем и вставляем текст нашей программы в main.c

#include <ioavr.h>
#include <intrinsics.h>

int main(void)
{
  unsigned char led = 1;
  DDRC = 255;
 
  while(1)
  {
    PORTC = ~led;
    __delay_cycles(400000);
    led = led<<1;
    if (led == 0)
      led = 1;
  }
  return 0;
}

Кликаем кнопку Make.

Если все сделано правильно, IAR откомпилирует и соберет проект, а внизу откроется окно Messages.
Все прошло без ошибок. Но компилер выдал warning - statement is unreachable. Ничего страшного – он просто сообщает нам, что функция main никогда не возвратит значение. У нас в программе бесконечный цикл while(1){…} и микроконтроллер при работе никогда не дойдет до строчки return 0.



Ищем файл прошивки в папке проекта и грузим в микроконтроллер.
Если интересно посмотреть на ассемблерный листиг, открываем файл main.lst



С первого взгляда там черти че. Но если знаешь ассемблер, то легко разберешься.

Related items