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

   Запускаем 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



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

Похожие материалы (по тегу)

Добавить комментарий

При добавлении в комментарий Си кода, заключайте его между тегами [code] [/code]. Иначе он будет отображаться некорректно.


Защитный код
Обновить