IAR IDE. Управление проектами

08/09/2009 - 21:00 Павел Бобков

Workspace

Довольно часто при работе требуется иметь быстрый доступ сразу к нескольким проектам. Для этих целей в IAR Embedded Workbench проекты можно объединять в одном  рабочем пространстве (workspace). Это позволяет быстро переключаться между проектами, а также группировать связанные проекты вместе. Каждый workspace может содержать один или больше проектов, а каждый проект должен находиться, по крайней мере, в одном workspace.

Подключить проект к workspace можно двумя способами – создав новый проект -  Project > Create New Project… или добавив существующий – Project > Add Existing Project…

Переключатся между проектами в workspace можно, либо, кликнув правой кнопкой мыши  на название проекта на закладке Overview и выбрав Set as Active, либо выбирая соответствующую закладку в нижней части окна рабочего пространства, при этом в рабочем пространстве отобразится структура выбранного проекта.




Build configuration

Иногда требуется создать несколько версий одного проекта, ну, например, под разные микроконтроллеры. Для этого в IARе есть такая вещь как  конфигурация (build configuration). Конфигурация  это просто совокупность текущих настроек проекта. По умолчанию к каждому новому проекту IAR автоматически создает две конфигурации: Release и Debug. Они отличаются между собой опциями оптимизации, отладочной информацией и форматом выходного файла. Конфигурации можно удалять, можно создавать свои собственные. Это делается с помощью меню Project > Edit Configurations…

Активировать нужную конфигурацию проекта можно, выбрав ее из выпадающего списка в верхней части окна рабочего пространства.

По умолчанию каждый файл проекта включен во все конфигурации проекта. Исключить файл из определенной конфигурации можно так – выбрать файл в окне workspace, выбрать меню Project > Options…, поставить галочку Exclude from build. У файла, исключенного из конфигурации, в окне рабочего пространства поменяется вид иконки – она будет полностью белая.

Когда мы запускаем компиляцию и сборку проекта (make), то IAR делает это для конфигурации проекта, выбранной в данный момент. Откомпилировать и собрать сразу несколько конфигураций можно с помощью меню Project > Batch Build…

Groups

Каждый проект может содержать иерархию групп, в которых мы можем собирать и организовывать исходные файлы вместе. Группа – это что-то вроде папки в проводнике. Для того чтобы создать группу нужно кликнуть правой кнопкой мыши на вершине проекта и в открывшемся меню выбрать Add > Add Group…

Добавить файл в группу, можно перетащив его курсором мышки. Таким же образом файлы можно и извлекать из группы. Группу, как и отдельные файлы, можно исключить из конфигурации с помощью опции Exclude from build.

Все исходные файлы проекта имеют одинаковые настройки. Но IAR позволяет устанавливать для каждого файла проекта, а также для группы файлов некоторые опции индивидуально. Это может понадобиться, например, если мы захотим установить разные опции оптимизации разным файлам. Для этого нужно выбрать нужный файл/группу открыть меню Options и поставить галочку  Override inherited settings, тогда настройки станут доступны.

Также есть специальная группа файлов, которая создается после успешной компоновки проекта – это группа Output. В ней содержатся объектные файлы, выходные файлы компилятора, ассемблера и компоновщика, если они были разрешены.
 

Дополнительные возможности

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

Иногда IARу нужно указать каким приложением открывать включенный файл. Это делается с помощью меню Tools > Configure Viewers… В открывшемся окне выбрать New, в строке file name extensions указать расширение файла (например .exe) и выбрать нужную опцию в рамке Action. Чаще всего достаточно выбрать - Use file explorer associations.

Comments   

# Wukrlvy 2012-02-01 11:11
Сделал два независимых проекта - два куска последующего общего проекта. Естественно, каждый из них содержит свой main, свой диалог и специализирован ные файлы, для отладки которых и был задуман каждый проект. Каждый проект в своей рабочей папке, в своем workspace.

Объединение проектов - как лучше делать? Естественно, в объединенном проекте придется поставить свой main и диалог, но специализирован ные файлы хотелось бы оставить со старых проектов, чтобы в любой момент была возможность отката на шаг назад.
1) В новой рабочей папке или main-ы переименовывать?
2) В новом workspace или сделать один общий workspace и в нем создать группы для всех трех вариантов?
# Pashgan 2012-03-03 09:32
Немного не понимаю вопрос.
Если после объединения двух проектов вам нужно будет к ним обращаться, то лучше делать в одном workspace. Так будет удобнее.
# wukrlvy 2012-02-24 22:29
У меня версия IAR не совпадает с версией в предсталенных примерах. В результате каждый раз ручками надо создавать проект. Тот проект, который присутствует в примере IAR не хочет открывать. Может кто подсказать, где поправить .ewp файл, чтоб исправить сей "баг"?
# Pashgan 2012-03-03 09:26
Не знаю. Я так никогда не делал. Может проще поставить более новую версию IAR`a?
# wukrlvy 2012-03-06 16:22
сейчас на официальном сайте IAR доступна версия 5.30. Имею "припарку" на версию 4.12. Не знаю, действует ли она на версию 5.30. Т.е. надо качать и пробовать, а до этого пока руки не доходят. Да к тому же, жалко потерять то, что уже имеешь.

Поигрался с файлом .ewp и нашел, как его поправить, чтобы в версии 4.12 проект открывался
# гость 2013-01-14 10:26
Действительно, удобно несколько проектов сразу открыты. Но!!!!
У всех проектов имя главного файла main.c - возникает путаница. Пробовал переименовать, не получилось. Есть ли возможность как-то переименовать main.c в что-то осмысленное, например test_led.c, com_drive.c, termo.c и т.д.?
Спасибо.
# Pashgan 2013-01-14 11:11
Конечно, главное чтобы в этом файле была функция main().
# гость 2013-01-14 11:57
Так в том-то и дело, что не могу переименовать. Когда на имени файла main.c (в окне workspace) нажимаю правой кнопкой мышки, то в списке меню "Rename" подсвечено серым цветом, то есть недоступно. А "Remove", например, доступно. Как быть, как переименовать? (Функция main() в этом файле есть.)
# Pashgan 2013-01-14 12:01
Переименуй файл main.c в папке проекта и подключи его в IARe.
# гость 2013-01-14 12:34
Да, переименовал и подключил. ОК.
А можно ли как-то цивилизованно на этапе создания проекта сразу назвать "главный" файл с функцией main() как мне удобно? Пока, я так понимаю, при создании нового проекта IAR за меня сразу дает название main.c .
# Pashgan 2013-01-14 13:50
Не знаю. Я всегда главный файл называю main`ом, поэтому не задавался таким вопросом.

У вас недостаточно прав для комментирования.