Iar embedded workbench

IAR Embedded Workbench for AVR. Быстрый старт.

IAR — это один из лучших компиляторов С/С++ для множества микроконтроллеров, начиная от 8051 и заканчивая продвинутыми ARMами. Про создание проектов для ARM уже писали в учебном курсе имени этого же контроллера, я же напишу про создание проекта для AVR, особенностей работы и отладки в нем.

Для avr существует 2 версии — бесплатная, с ограничением по коду до 4кБ и полная с 30-и дневным триалом. Так же не трудно найти вылеченную. Какую выбрать каждый решит для себя сам, скажу только что для нормальной работы вылеченной нужно запрещать программе выход в интернет. Последняя на данный момент версия 5.51. Ее я и буду использовать.
Настройка среды.
После установки стоит сделать начальные настройки среды.
1. Tools->Options. В Messages в пункте Show build messages выбрать тип All. После этого при компиляции будет выводиться информация о размере программы и данных.
2. Т.к. среда не поддерживает программаторы типа AVR ISP, то стоит к ней прикрутить внешний программатор, например SinaProg. Для этого жмем Tools->Configure Tools.

Настройки там понятны и без объяснений. Строку Initial Directory можно оставить пустой или указать в ней путь к выходным файлам текущего проекта. Тогда после запуска сразу будет выбираться папка с прошивкой. В принципе для этого предназначена галка Redirect to Output Window, с которой путь должен автоматом подставляться для текущего проекта. Но у меня она почему-то не заработала.

Создание проекта.
Запускаем IAR Embedded Workbench и видим главное окно программы:

Выбираем в меню — Project->Create New Project. . В появившемся окне можно выбрать язык (ASM, C, C++) и тип проекта. Совместимость с AVR Studio нам не к чему, поэтому создадим приложение на обычном С.

Программа сразу предложит сохранить полученный проект. Сохраняем и получаем на выходе следующий сгенерированный код:

Да, iar точно знает, что краткость сестра таланта:) Пользоваться этим пока не возможно, поэтому можно переходить к настройкам проекта.

Настройка проекта.
Выбираем в меню — Project->Options. или жмем Alt+F7 и видим первое окно настроек:

Обязательно выбираем тип используемого процессора. Тип памяти влияет на размер адреса переменных в памяти данных. У модели tiny — 1 байт на адрес, у small — 2 байта.
Далее переходим к вкладке С/С++ Compiler:

В принципе по началу тут можно ничего и не трогать, но про самые основные вкладки сказать стоит. В Plain ‘char’ is выбирается тип переменной char по умолчанию — со знаком или нет.
В Optimization как нетрудно догадаться выбирается тип и уровень оптимизации.
И на вкладке List можно включить опцию генерации ассемблерного листинга.
И последняя, весьма важная вкладка — Linker

По умолчанию линкер создает свой, весьма специфический, файл с расширением *.d90. Со всей отладочной информацией и прочей кучей мусора. Прошивать его в контроллер напрямую нельзя, поэтому вывод необходимо перенастроить. Тут есть 2 пути:
1. Переназначить типы выходных файлов во что-то стандартное. Но тут есть свои тонкости. Например, если на вкладке Output сделать выходной файл intel-standart, то потеряется возможность символьной отладки. Т.к. отлаживать через листинг радости мало, то нужно ставить тип выходного файла в debug-intel-std, а на вкладке Extra Output уже выбирать intel-standart. Тогда будет и нормальная отладка в симуляторе и готовый выходной файл для прошивки. Но если в программе используются переменные из eeprom, то получим ошибку линкера. Поэтому всегда лучше использовать второй путь.
2. Если в программе используется eeprom, то линкеру надо сообщить что ему необходимо создать 2 файла. Для этого сразу переходим к последней вкладке Extra Options, разрешаем использовать их и в поле вводим:

В результате получим на выходе 3 файла:

  • *.d90 — для отладки
  • *.eeprom.hex — для прошивки eeprom
  • *.flash.hex — сама прошивка

На этом настройку проекта можно считать законченной и переходить к написанию программы.

Написание Hello World.
На самом деле писать программу мигающую чем-то я не буду;) А только опишу особенности реализации С в применении к iar. Итак, сразу включаем в самое начало программы следующее:

Без определения *1 не будут доступны битовые поля регистров. Почему так сделано мне самому не понятно:) В *2 идет как раз описание регистров. Без *3 не будет некоторых макроопределений.

Задержки в iar сделаны через количество тактов, однако в 99% случаев гораздо удобней указывать время задержки в микро или миллисекундах. Поэтому добавим следующие определения:

Теперь задержку можно сделать так:

Для размещения констант во флеш используется модификатор __flash:

Для переменных в eeprom соответственно модификатор __eeprom.

Как читать и писать такие переменные компилятор разберется сам, при этом для чтения не нужны извращения типа pgm_read_byte. Все переменные этих типов могут быть только глобальными и запись во флеш не поддерживается. Т.е. команд типа SPM нет. Как пример запись в eeprom константы из flash:

Прерывания объявляются следующим образом:

Где TIMER2_OVF_vect тип прерывания, имена прерываний можно посмотреть в файле описания конкретного процессора. Для mega16 — это C:\Program Files (x86)\IAR Systems\Embedded Workbench 5.4\avr\inc\iom16.h
TIMER2_interrupt — просто имя прерывания, можно написать что угодно.
В остальном тут такой же С как и в любой другой среде.

Отладка в IAR
Отлаживать программу можно в железе, через любые аппаратные отладчики. JtagIce и Dragon самые известные и доступные из них. При этом показывается содержимое регистров, переменные, снимаются/устанавливаюся аппаратные флаги и срабатывают прерывания. Причем в отличие от gcc + студия переменные показываются вне зависимости от ее типа и расположения. В общем отладка в железе в iar проста и приятна. Тип отладчика выбирается в свойствах проекта. Там же он и настраивается.
У кого отладчиков нет можно использовать симулятор. Тут уже не так радостно. IAR, в отличие от студии, не эмулирует работу процессора. Это означает, что таймеры в симуляторе не считают, флаг готовности аппаратного i2c не устанавливается и так далее. И установка флага нужного прерывания вручную не приведет к вызову этого прерывания. Но переменные все равно показываются правильно. После gcc это неимоверно доставляет.
Итак, отладка в iar. Для запуска отладчика нажимаем зеленый треугольник на правом панеле.

Дополнительные окна открываются через меню View.
Переменные (окно 4) могут показываться в окнах Watch, Auto, Statics и Locals. В окне Watch отображаются только выбранные переменные, в Statics все статические, а в Locals только локальные переменные. В окне Auto будут только переменные недавно изменившие значение. В качестве переменных можно указывать названия регистров. К примеру на переменную PORTB будет выводиться текущее состояние этого порта.
При желании можно сделать вывод каждого окна отдельно или выбирать нужное закладкой внизу окна. Способ вывода меняется перетягиванием нужных окон.
Окно Регистры (окно 3)отличается от переменных тем, что в нем выводится не только значение выбранного регистра, но и связанные с ним регистры. Например для порта А также будет выведены DDRA и PINA. Так же значение каждого регистра можно развернуть для показа битовых полей.
В окне дизасемблера (окно 2) и самой программы (окно 1) будет текущий выполняемый фрагмент кода. Если при этом выбрать окно ассемблера, то при при трассировке будет выполнятся каждая ассемблерная команда по очереди. Так же ставить точки останова можно в любом окне.
Так можно отладить всю логику программы, кроме работы железа и прерываний. И если с симуляцией железа сделать ничего нельзя, кроме как ставить нужные биты вручную, то вызвать прерывания автоматически все таки можно. Хоть и не удобно, но все же можно. Для этого выбираем Simulator->Interrups.

В этом окне выбирается тип прерывания, через сколько времени оно начнет работать и интервалы срабатывания. После установки прерывания оно начнет регулярно срабатывать. До симулирования работы проца конечно далеко, но все же лучше чем вообще ничего.

IAR Embedded Workbench

Многофункциональная среда разработки приложений на языках C, C++ и ассемблере для целого ряда микроконтроллеров от различных производителей.

Читайте также  Зарядное устройство для ni-cd и ni-mh аккумуляторов.

Основные преимущества пакета – дружественный пользовательский интерфейс и непревзойденная оптимизация генерируемого кода. Кроме этого реализована поддержка различных операционных систем реального времени и JTAG -адаптеров сторонних компаний.

В настоящее время IAR Embedded Workbench поддерживает работу с 8-, 16-, 32-разрядными микроконтроллерами от Atmel, ARM, NEC, Infineon, Analog Devices, Cypress, Microchip Technologies, Micronas, Dallas Semiconductor/Maxim, Ember, Luminary, NXP, OKI, Samsung, National Semiconductor, Texas Instruments, STMicroelectronics, Freescale, TI/Chipcon, Silicon Labs и Renesas. Для каждой платформы существует своя среда разработки, в частности ARM микроконтроллерам соответствует версия пакета IAR Embedded Workbench for ARM.

Программная среда включает в себя:
1. C/C++ компилятор – один из самых эффективных в своем роде. В нем также присутствует полная поддержка ANSI C.
2. Транслятор ассемблера, включающий в себя макроассемблер для программ реального времени и препроцессор для C/C++компилятора.
3. Компоновщик, поддерживающий более тридцати различных выходных форматов для совместного использования с внутрисхемными эмуляторами.
4. Текстовый редактор, настроенный на синтаксис языка Си и имеющий удобный пользовательский интерфейс, автоматическое выделение ошибок программного кода, настраиваемую инструментальную панель, подсветку блоков, а также удобную навигацию по именам подпрограмм, макросов и переменных.
5. Симулятор и отладчик в кодах Си и ассемблера. Отладчик позволяет просматривать области EEPROM, DATA, CODE, а также регистры ввода/вывода, устанавливать точки останова и аппаратные флаги, обрабатывать прерывания с предсказанием. Кроме этого предусмотрен контроль стека и любых локальных переменных, режим пошагового выполнения программы. Тип отладчика и его настройки устанавливаются в свойствах проекта. Если отладчик отсутствует, то на помощь приходит симулятор, который, однако, не имеет возможности эмулировать работу процессора.
6. Менеджер проектов, облегчающий контроль и управление рабочими модулями.
7. Дополнительные утилиты для работы с оптимизированной CLIB/DLIB библиотекой.

Интегрированная система помощи облегчает написание программ в данной среде. Предусмотрено взаимодействие с утилитой AVR Studio. Помимо прочего в IAR Embedded Workbench существует возможность самостоятельного управления оптимизацией отдельных модулей проекта, что упрощает процесс отладки, а также позволяет ускорить работу программы или сэкономить на памяти.

IAR Embedded Workbench была разработана IAR Systems, более двадцати лет являющейся одной из ведущих компанией по созданию C/C++ компиляторов для встраиваемых микроконтроллерных устройств и систем. Ее штаб-квартира находится в старинном городе Уппсала (Швеция). В настоящее время программы IAR Systems используют по всему миру более сотни тысяч разработчиков, производителей телекоммуникационного и промышленного оборудования, медицинской и компьютерной техники, среди которых такие гиганты, как Apple Computer, Cisco Systems, Motorola, Hewlett-Packard и Siemens.

IAR Embedded Workbench является коммерческим продуктом, его стоимость составляет около 3000 долларов за одну пользовательскую лицензию. Однако, в качестве дополнения к полнофункциональной версии, существует бесплатный вариант среды программирования с единственным ограничением на размер выходного кода до 4 или 8 КБ в зависимости от модели контроллера. Этот вариант подойдет для первого знакомства с программой, а также написания небольших приложений. Можно найти и взломанную версию, но для ее нормальной работы придется отключать выход в интернет.

Язык интерфейса IAR Embedded Workbench – английский.

Рассматриваемая среда работает под управлением только операционной системы Microsoft Windows версий 95, 98, NT, 2000, XP, Vista, 7 (не имеет значения 32- или 64-битных).

Распространение программы: платная. Есть бесплатная версия с ограничениями на размер кода в зависимости от МК

Использование среды разработки IAR Ebedded Workbench IDE

Введение

Используя разные микроконтроллеры, возникает необходимость выбрать удобную среду разработки. Нам есть из чего выбирать – будь то IAR или Keil µVision, или, даже Code Composer Studio.
Ниже пойдет речь об IAR Embedded Workbench IDE на примере STM32F10x. Эта среда разработки достаточно мощная. Имеются всякие вкусняшки.

Настройка IAR

В первую очередь нужно настроить IAR.

Основные настройки
Настройки проекта

Допустим, создавать новый проект мы умеем (если нет, то Project->Create New Project…). После создания проекта нам доступны две конфигурации проекта – Debug и Release. Переключаться между ними можно в окне Workspace:

Рис. 1 – Окно Workspace

Удобно использовать несколько конфигураций. В конфигурации Debug можно выбрать симулятор программатора, а в Release – конкретный программатор (к примеру, J-Link). Что позволит сначала отлаживать в симуляторе, не теряя время на прошивку микроконтроллера, а потом уже прошивать под конфигурацией Release.
Добавлять новые конфигурации можно через меню: Project->Edit Configurations.
Опции самого проекта – Project->Options… (Alt+F7). Для открытия окна опций проекта нужно выделить сам проект в окне Workspace, иначе откроются опции того файла, который был выделен.
Настройки буду приводить для конфигурации Debug (в скобках – для Release).
Открываем опции (Alt+F7)

  1. General Options.
    Вкладка Target. Выбираем Device – например, ST STM32F100xB (у меня STM32VLDISCOVERY с STM32F100RBT6 на борту).
  2. С/C++ Compiler.
    Вкладка Optimizations. Выбираем LevelNone (для ReleaseHigh).
    Вкладка Preprocessor. В поле Additional include directories вводим все пути заголовочных файлов, имеющих расширение *.h. Например:
    $PROJ_DIR$..Libinclude
    Остальные переменные, на подобии $PROJ_DIR$, можете посмотреть в хелпе по F1, введя в поиске Argument variables.
    В этой же вкладке, в поле Defined symbols вписываем нужные дефайны. Это аналог обычной директивы #define. Для нашей отладочной платки нужно ввести STM32F10X_MD_VL, если мы хотим использовать библиотеки от криворуких STM’овцев.
    Так же для конфигурации Debug можно завести дефайн DEBUG. Это удобно, если использовать, к примеру, конструкцию:
    #ifndef DEBUG
    Delay(100 часов);
    #endif
    Зачем же нам ждать это время при отладке, правда же?
  3. Linker.
    Вкладка Config. Здесь можно выбрать конфигурационный файл для линковщика, если это необходимо (если у вас не 8-ми битный микроконтроллер). Если необходимо перераспределить память микроконтроллера по-своему, то нужно ковырять файл *.icf. Об этом можно прочитать в Help->C/C++ Development Guide страница 81 Linking your application. Если эта тема сложная, то можно написать об этом отдельно. Спрашивайте, если что.
  4. Debugger.
    Вкладка Setup. В поле Driver выбираем Simulator (для Release – свой программатор. Для моей платы – ST-LINK. В настройках для него нужно выбрать интерфейс SWD).

    Рис. 2 – Дерево проекта

И, напоследок, создайте дерево проекта на ваш вкус.

Некоторые приемы

Горячие клавиши
Поиск:

Обычный поиск – Ctrl+F
Найти дальше – F3
Поиск по файлам проекта – Ctrl+Shift+F
Шагать по найденному (или по ошибкам/ворнингам) – F4

Навигация по проекту:

Перейти к объявлению переменной (даже, если она в другом файле) – F12 — очень полезная функция!
Навигация вперед – Alt+Right
Навигация назад – Alt+Left

Разное:

Открыть header/source – Ctrl+Shift+H (или П.К.М в редакторе, и в контекстном меню выбрать Open Header/Source File)
Закомментировать выделенный блок – Ctrl+K
Разкомментировать – Ctrl+Shift+K
Выделить содержимое скобок – Ctrl+B
Автовыравнивание – Ctrl+T
Поставить/убрать Breakpoint – F9
Вставить шаблон – Ctrl+Shift+Space – тоже интересная штука.

Чтобы добавить свой шаблон, нужно открыть файл CodeTemplates.ENU.txt через меню Edit->Code Templates->Edit Templates
Теперь можно ввести примерно следующее:

#TEMPLATE ,[=default value], .

Знак «&» нужен для быстрого доступа (буква будет подчеркнута). Можно использовать знак «>» для создания подменю. Все интуитивно понятно.

Сохраним файл и вызовем Template menu (Ctrl+Shift+Space). В нем выберем Warning:

Рис. 3 – Вызов меню Template

Введем необходимый текст:

Рис. 4 – Шаблон Warning

Жмякаем по кнопке OK. В результате, появится строчка:

Рис. 5 – Результат использования шаблона

При компиляции все ворнинги и ерроры (#error ) будут выводиться в окне Build.

Заключение

В этой статье были приведены основные возможности IAR, позволяющие достаточно быстро ориентироваться в проекте. Рекомендую использовать горячие клавиши. Это значительно сокращает время работы над проектом.
Буду признателен, если читатель дополнит или поправит меня.

IAR: установка и регистрация среды разработки EmbeddedWorkbench компании IAR Systems

Типовой комплект IAR Embedded Workbench содержит: C/C++ компилятор, транслятор языка ассемблера, компоновщик, управляющие программы для работы с библиотечными подпрограммами, редактор, менеджер проектов, C-SPY отладчик [1]. Для большинства IDE поставка возможна в трех вариантах: Standard (полная профессиональная версия), Baseline (ограничения на объем генерируемого кода, отсутствие годовой технической поддержки) или Limited (не входят C-SPY отладчик, RTOS-модули, отсутствует поддержка MISRA C).

Рекомендуемая конфигурация компьютера для работы со средой разработки IAR Embedded Workbench Stand Alone License: процессор Pentium с частотой не менее 100 МГц, свободная область на жестком диске 200 Мбайт или более и дополнительно 10 Мбайт на системном диске, память ОЗУ 128 Мбайт или более, операционная система Mi crosoft Windows 98, Windows ME, Windows XP, Windows 2000 или Windows NT 4.

В статье описывается пошаговый порядок действий пользователя для успешной установки/обновления и регистрации локальной версии среды разработки IAR Embedded Workbench. Для индивидуальной настройки рекомендуется обратиться к более подробному руководству InstallationGuide [2], которое предоставляет производитель.

Инсталляция IAR Embedded Workbench с использованием временного ключа (QuickStart key)

Для прохождения этого этапа [3] требуется отключить от компьютера все внешние USBустройства и вставить инсталляционный диск в привод CD-ROM. После этого должна автоматически запуститься программа установки. Если этого не произошло, необходимо вручную запустить с инсталляционного диска файл autorun.exe. Далее необходимо выбрать команду Install IAR Embedded Workbench и принять условия лицензионного соглашения. В результате на экране появится диалоговое окно (рис. 1), в котором необходимо ввести имя пользователя, название компании и 17-значный номер лицензии, указанный на обложке диска.

Далее вводится 16-значный номер временного ключа (рис. 2). Он тоже указан на обложке диска.

После этого выбирается тип устройства, к которому будет «привязана» лицензия (рис. 3). Например, это может быть сетевая карта компьютера ( My computer ) или аппаратный ключ DGL-USB ( Hardware dongle ), который входит в состав поставки.

Рекомендуется «привязывать» лицензию к аппаратному ключу (DGL-USB). Такая организация работы впоследствии позволяет легко переносить лицензионную среду разработки с одного компьютера на другой. При выборе опции Hardware dongle следует внимательно следить за сообщениями установочной программы в процессе инсталляции. В определенный момент времени на экране должно появиться диалоговое окно с предложением подключить аппаратный ключ к USB-порту.

Далее следует указать директорию, в которую будет установлена среда разработки IAR Embedded Workbench (рис. 4) и выбрать требуемую конфигурацию (рис. 5): полная ( Complete ) или пользовательская ( Custom ).

Для того чтобы установить только те компоненты, которые необходимы для реализации данного проекта, рекомендуется выбирать опцию Custom. После этого можно запускать процесс на инсталляцию. По завершении этого этапа автоматически запускается программа активирования лицензии. В результате на экране появится диалоговое окно (рис. 6), в котором будет предложено зарегистрировать среду разработки сразу же, либо позже.

Регистрация и активирование лицензии

Незарегистрированной средой разработки IAR Embedded Workbench можно пользоваться только в течение 30 дней. Для получения годовой технической поддержки и права бессрочного пользования требуется активировать лицензию: отправить в компанию IAR Systems свои регистрационные данные (рис. 7).

В течение пяти рабочих дней компания IAR Systems должна выслать постоянный ключ ( Permanent key ) по электронному адресу, указанному в регистрационной форме. Для инсталляции постоянного ключа необходимо запустить программу IAR Systems License Manager в меню Start. В появившемся диалоговом окне необходимо выбрать команду License>Install, скопировать постоянный ключ в текстовое поле появившегося окна License key (рис. 8) и выбрать опцию Install.

На этом процесс установки среды разработки IAR Embedded Workbench считается полностью завершенным. В течение года после регистрации действует официальная техническая поддержка от компании IAR Systems (SUA). В этот период версии компиляторов обновляются бесплатно. При поступлении запроса на обновление за месяц до окончания SUA действует скидка 80% от полной стоимости. При обращении за обновлением в период 1–3 лет с момента покупки действует скидка 50%. Если прошло 3 и более лет, скидка на обновление версии среды IAR Embedded Workbench будет составлять 25%.

Скачивать обновления версий в период SUA, следить за текущим статусом лицензии, получать дополнительную техническую документацию теперь можно, зарегистрировавшись на сайте www.iar.com/mypages.

Процедура обновления среды разработки IAR Embedded Workbench

Для обновления используются текущие номер лицензии и постоянный ключ [4]. Эти данные можно посмотреть, запустив программу IAR Systems License Manager (рис. 9).

В появившемся окне нужно выбрать тип лицензии (например, Stand Alone ) и дважды щелкнуть по нему левой кнопкой мыши. В результате появится информационное окно License Information, в котором будут отображены все необходимые сведения о текущей лицензии (рис. 10).

Перед началом выполнения процедуры обновления рекомендуется сделать копии командных файлов компоновщика, библиотек и конфигурационных файлов, подвергавшихся редактированию в текущей версии среды разработки. Рабочие файлы проекта в процессе обновления не затрагиваются. Далее требуется удалить предыдущую версию IAR Embedded Workbench, выбрав команду Uninstall IAR Embedded Workbench. Последующий порядок действий аналогичен выполняемому на этапе инсталляции. Требуется вставить инсталляционный диск в привод CD-ROM, выбрать команду Install IAR Embedded Workbench и принять условия лицензионного соглашения. После ввода имени пользователя и названия компании (номер лицензии обычно прописывается автоматически), откроется диалоговое окно для ввода постоянного ключа. В текстовом поле окна License key уже должно быть прописано значение текущего ключа. Если поле пустое, необходимо скопировать в него требуемую информацию и выбрать опцию Install. Далее указывается директория для установки среды разработки, выбирается требуемая конфигурация и запускается инсталляция. По окончании инсталляции процесс обновления можно считать полностью завершенным.

Заключение

Компиляторы IAR Embedded Workbench представляют собой среду разработки верхнего уровня. Это мощный, но вместе с тем простой и очень удобный инструмент программирования для встраиваемых микропроцессорных устройств и систем. Качество IDE IAR Systems признано многими известными мировыми производителями промышленного и телекоммуникационного оборудования, компьютерной и медицинской техники (Apple Computer Inc., Black&Decker, Cisco Systems, Ember, Ericsson, Hewlett-Packard, Motorola Inc., Panasonic Communications, Siemens и др.). Отладочные средства компании IAR становятся популярными и среди российских разработчиков. Для успешной работы со средой IAR Embedded Workbench мы рекомендуем всем пользователям ознакомиться с минимальными техническими требованиями, предъявляемыми к аппаратному и программному обеспечению компьютера.

IAR Embedded Workbench для ARM 9.10.1 + пакет IAR 2021-04-06

Для программного обеспечения AVR, такого как Bascom, Codevision, Aver Studio и т. Д.…. Он используется и аналогично для микроконтроллеров ARM, может быть введено программное обеспечение IAR Embedded Workbench для ARM, которое является одним из лучших программ для кодирования, компиляции и отладки для микроконтроллеров ARM.

Микроконтроллеры серии ARM представляют собой расширенную версию своего предшественника AVR. Благодаря своему 32-битному процессору эти микроконтроллеры намного мощнее 8-битных процессоров AVR, и благодаря этому эти микроконтроллеры могут выступать в качестве мощного процессора для таких аксессуаров, как планшеты, современные мобильные телефоны и смартфоны.

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

Введение

Одной из самых успешных компаний в области компиляторов микроконтроллеров является IAR, которая с 16 года выпускает компиляторы для семейств AVR, Freescale, Maxim MAXQ, National-CR430C, Renesas, Samsung, STMicroelectronics, TI MSP8051 и 1980. Компания имеет 22 программных продукта для вышеуказанных микроконтроллеров, а их алгоритмы интерпретации кода и выходные данные одобрены производителями микроконтроллеров.

Существуют различные компиляторы для микроконтроллеров AVR, 8051 и ARM, которые пользователи могут использовать для программирования на языках ассемблера, C, BASIC, C ++ и… для желаемого микроконтроллера. В то же время компиляторы IAR, особенно IAR Embedded Workbench для ARM, более приветствуются производителями микроконтроллеров, и если вы кратко взглянете на примечания по применению, предоставленные производителями микроконтроллеров (например, Atmel), вы обнаружите, что Источники и примеры поставляется с компилятором IAR.

Компиляторы IAR обычно всегда были на первом или втором месте среди компиляторов микроконтроллеров с точки зрения надежности, оптимизации выходного кода и маневренности в программировании. Чтобы поддержать пользователей и облегчить процесс обучения этим компиляторам, IAR выпустила различные учебные платы, отладчики и программаторы для каждого семейства, а также подготовила различные проекты для всех частей микроконтроллера.

Особенности и характеристики IAR Embedded Workbench для ARM компилятор :

— Расширенный редактор с возможностью определения команд (выделение стандартных команд)

— Возможность управления проектами (написание программы несколькими программистами одновременно)

— Поддержка внутренней архитектуры микроконтроллера и оптимизация только выбранного кода микроконтроллера (такие компиляторы, как Bascom и Vision code, используют алгоритм для перевода кода, в то время как IAR утверждает, что трансляция команд имеет определенный алгоритм для каждого микроконтроллера)

— Поддержка стандартных команд языка C и C ++ с возможностью оптимизации команд

— Идентичные пользовательские среды (пользователи, которые работали с одним из продуктов IAR, могут легко работать с другими продуктами)

— Возможность отладки программы с помощью отладчика C-SPY® debugge.

— Имеет специальную операционную систему для поддерживаемых микроконтроллеров (с поддержкой RTOS)

Компилятор IAR Embedded Workbench for ARM полностью поддерживает все следующие процессоры:

  • ARM7 (ARM7TDMI, ARM7TDMI-S и ARM720T)
  • ARM7E (ARM7EJ-S)
  • ARM9 (ARM9TDMI, ARM920T, ARM922T и ARM940T)
  • ARM9E (ARM926EJ-S, ARM946E-S и ARM966E-S, ARM968E-S)
  • ARM10E (ARM1020E и ARM1022E)
  • ARM11
  • SecurCore (SC000, SC100, SC110, SC200, SC210, SC300)
  • Cortex-A5
  • Cortex-A8
  • Cortex-R4 (F)
  • Cortex-M0
  • Cortex-M1
  • Cortex-M3
  • Cortex-M4
  • XScale

Список программ в этом сборнике следующий:

IAR Embedded Workbench для ARM

IAR Embedded Workbench для 8051

Встроенная рабочая среда IAR для MSP430

Встроенная рабочая среда IAR для SuperH

Встроенный рабочий стол IAR для RH850

Встроенная рабочая среда IAR для V850

Встроенная рабочая среда IAR для STM8

Встроенная рабочая среда IAR для RX

Встроенная рабочая среда IAR для RL78

Встроенная рабочая среда IAR для R32C

Встроенный верстак IAR для M16C R8C

Встроенная рабочая среда IAR для HCS12

Встроенная рабочая среда IAR для CR16C

Встроенная рабочая среда IAR для AVR32

Встроенная рабочая среда IAR для 78K

Встроенная рабочая среда IAR для AVR

IAR Embedded Workbench для Renesas RX

IAR Советы по программе для Embedded Workbench for ARM:

— Активатор В этой версии также есть возможность активировать источники библиотеки.

Предоставляемый кряк является генератором общих лицензий для продуктов IAR Systems, но в некоторых случаях сгенерированная лицензия не включает исходные коды библиотек.

— IAR Embedded Workbench для программного обеспечения 8051; Другие версии также доступны по запросу.

необходимая система

Для установки и запуска IAR Embedded Workbench вам потребуется следующее:

  • Windows 7 / 8.1 / 10
  • Internet Explorer 7 или выше
  • Минимум 1 Гбайт ОЗУ и 2 Гбайт свободного дискового пространства.
  • Adobe Acrobat Reader для доступа к документации по продукту

Примечание. Сторонние драйверы отладчика могут работать или не работать в зависимости от уровня поддержки используемой версии Windows.

Картинки

Инструкция по установке

Установите программу и нажмите Нет по окончании установки и отображения сообщения, связанного с ключом. Затем запустите IAR License Manager из меню «Пуск». Если появится окно Мастера лицензий, закройте его и выберите «Автономная активация» в меню «Лицензия».

Теперь запустите файл License Generator_DownLoadLy.exe в папке Crack, скопируйте сгенерированный номер лицензии в соответствующее место и нажмите «Далее». На следующем шаге выберите Нет и продолжите. На следующем шаге щелкните. И сохраните файл ActivationInfo.txt локально. Теперь нажмите «Обзор» в генераторе лицензий и введите сохраненный файл ActivationInfo.txt. Щелкните Активировать лицензию и на этот раз сохраните файл ActivationResponse.txt. В окне мастера лицензий щелкните و, введите файл ActivationResponse.txt и завершите операцию.

! Как описано в списке программ в Keygen, лицензия на некоторое программное обеспечение является неполной и не включает исходные файлы библиотеки.

Установка IAR

Мы продолжаем изучение программирования микроконтроллеров STM32.

  • Прежде всего познакомимся с фирмой производителем — ST Microelectronics.

    Переходим в раздел Products -> Microcontrollers. Выбираем вкладку STM32 ARM Cortex.

    Фирма ST производит микроконтроллеры STM32 в трех основных сегментах:

    • Ультранизкопотребляющие
    • Общего назначения
    • Высокопроизводительные.

    На данной схеме указано соответствие названия микроконтроллера и ядра ARM Cortex, примененного в нем.

    Микроконтроллер STM32F303VCT6, с которым нам предстоит познакомиться поближе, стоит в самой середине указанной схемы и может работать на тактовой частоте до 72 МГц. Производительность микроконтроллера оценена в 90 миллионов операций в секунду.

    На страницах с описанием микроконтроллеров каждого семейства обозначены основные периферийные модули, а также приведены базовые линейки микроконтроллеров этого семейства.

    Зайдем на страницу линейки STM32F303 и посмотрим на позиционирование микроконтроллеров в зависимости от объема Flash-памяти программ и корпусного исполнения. Микроконтроллер STM32F303VC обладает объемом Flash памяти 256 килобайт и конструктивно выполнен в 100-выводном корпусе. На отладочной плате установлен корпус LQFP.

    На странице микроконтроллера имеется обзорная документация на соответствующий микроконтроллер – так называемый Data Sheet.
    Скачиваем его.
    Здесь приведены основные технические характеристики микроконтроллера, его внутренняя структура, цоколевка или назначение выводов корпуса микроконтроллера, а также особенности подключения и использования периферийных модулей. К сожалению, вся документация – на чистейшем английском языке.
    Кроме того, нам может потребоваться руководство по использованию микроконтроллера – Reference Manual, которое, как правило, является общим для всего семейства микроконтроллеров. Здесь уже содержится более 1000 страниц с описанием различных режимов работы периферийных модулей и настройки служебных регистров для их использования.

    Из документов нам еще понадобится документация на саму отладочную плату Discovery. Найти ее можно по этой ссылке. И скачиваем на эту плату руководство пользователя – User Manual, где в конце приводится принципиальная схема, содержащая все подключения элементов на плате.

    Установка IAR

    Для установки средств разработки выбираем вкладку STM32 Software Development Tools.
    При выборе средств разработки мы остановимся на программном пакете IAR. Переходим на сайт IAR. Проходим по ссылке Tools for ARM. Раскрываем меню Download a free trial и
    загружаем программу.

    Пакет IAR может использоваться в двух режимах – это

    • режим 30-дневной полнофункциональной версии
    • режим с ограничением по объему компилируемого кода.

    Для STM32 это 32 килобайта кода (из имеющихся 256 килобайт Flash-памяти). Но для учебных задач вполне достаточно, поэтому будем использовать именно этот вариант.

    Запускаем скачанный архив и переходим в раздел Install IAR Embedded Workbench.

    Программа IAR начинает свою установку. Принимаем лицензионное соглашение и указываем папку, куда будет установлена среда разработки. Можно оставить по умолчанию.

    Дальше нам предлагается выбрать драйвера USB-устройств, которые нам понадобятся. Поскольку мы будем пользоваться программатором ST-link, я рекомендую убрать остальные драйвера, что немного ускорит процесс установки.

    Далее идет предупреждение о создании соответствующей папки в Program Files. И переходим к установке. Ждем пока установщик скопирует все требуемые файлы.
    Dongle-драйвер можно не ставить.

    Далее нам предлагается установить STlink USB драйвер. Запускается мастер установки, нажимаем «Далее», и копируются файлы драйвера.

    Устанавливаем программное обеспечение для STM микроконтроллеров, и на этом программа IAR завершает свою установку.

    Теперь устанавливаем лицензионную информацию. Запускаем IAR License Manager, и нам предлагается ввести лицензионный ключ. Для этого необходимо зарегистрировать продукт на сайте IAR Systems. Если Вы уже имеете лицензионный ключ, можете ввести его. Если нет, переходим на сайт. Регистрация бесплатная. И нажимаем кнопку Register.

    В соответствующей форме вводим тип лицензии – code size limited и заполняем обязательные поля. E-mail необходимо указать корректно, поскольку туда придет подтверждающее письмо. Также требуется указать отрасль, в которой будет применяться среда разработки IAR и указать производителя микроконтроллеров, для которых мы планируем применять эту среду – ST Microelectronics.
    Отвечаем на несколько вопросов и подтверждаем регистрацию. Получаем соответствующее письмо подтверждения на указанный адрес электронной почты.

    Проходим по указанной ссылке и получаем лицензионный номер. Этот номер нужно ввести в окне регистрации. В окне регистрации нажимаем «Далее» … и подтверждаем лицензионный ключ.

    Лицензия успешно активирована, программа IAR готова к работе. Можем запустить IAR Systems. Выбираем язык интерфейса и видим окно среды разработки.

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