Введение
Используя разные микроконтроллеры, возникает необходимость выбрать удобную среду разработки. Нам есть из чего выбирать – будь то IAR или Keil µVision, или, даже Code Composer Studio.
Ниже пойдет речь об IAR Embedded Workbench IDE на примере STM32F10x. Эта среда разработки достаточно мощная. Имеются всякие вкусняшки.
Настройка IAR
В первую очередь нужно настроить IAR.
Основные настройки
После запуска IAR заходим в опции (Tools->Options…). Сразу же будет выбран пункт Editor. В поле Ident size число указывает на количество пробелов при нажатии Tab. Для меня удобно использовать число 4.
Стоит уделить внимание пункту Key Bindings. Здесь можно назначить горячие клавиши. Согласитесь, все-таки, удобно и быстро пользоваться комбинациями клавиш. Пока что, можно назначить комбинацию Ctrl+W как закрытие активных вкладок. Для этого в Menu выбираем Window и для команды Close active tab назначаем Ctrl+W.
С остальными горячими клавишами познакомимся ниже.
Настройки проекта
Допустим, создавать новый проект мы умеем (если нет, то 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)
- General Options.
Вкладка Target. Выбираем Device – например, ST STM32F100xB (у меня STM32VLDISCOVERY с STM32F100RBT6 на борту). - С/C++ Compiler.
Вкладка Optimizations. Выбираем Level – None (для Release — High).
Вкладка 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
Зачем же нам ждать это время при отладке, правда же? - Linker.
Вкладка Config. Здесь можно выбрать конфигурационный файл для линковщика, если это необходимо (если у вас не 8-ми битный микроконтроллер). Если необходимо перераспределить память микроконтроллера по-своему, то нужно ковырять файл *.icf. Об этом можно прочитать в Help->C/C++ Development Guide страница 81 Linking your application. Если эта тема сложная, то можно написать об этом отдельно. Спрашивайте, если что. - 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 "&Warning","Введите текст:"="Не забыть изменить"
#warning %1
Синтаксис шаблона:
#TEMPLATE <template name>,<field>[=default value], <field>...
Знак «&» нужен для быстрого доступа (буква будет подчеркнута). Можно использовать знак «>» для создания подменю. Все интуитивно понятно.
Сохраним файл и вызовем Template menu (Ctrl+Shift+Space). В нем выберем Warning:
Рис. 3 – Вызов меню Template
Введем необходимый текст:
Рис. 4 – Шаблон Warning
Жмякаем по кнопке OK. В результате, появится строчка:
Рис. 5 – Результат использования шаблона
При компиляции все ворнинги и ерроры (#error <текст>) будут выводиться в окне Build.
Заключение
В этой статье были приведены основные возможности IAR, позволяющие достаточно быстро ориентироваться в проекте. Рекомендую использовать горячие клавиши. Это значительно сокращает время работы над проектом.
Буду признателен, если читатель дополнит или поправит меня.
Используемая литература
- Документация IAR
Автор: solarplexus