Программирование ARM: решение проблем, FAQ IAR EW ARM: как перенести проект в другую папку Sat, March 25 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

IAR EW ARM: как перенести проект в другую папку Печать
Добавил(а) microsin   

Часто нужно бывает в IAR Embedded Workbench 5.20 for ARM (далее просто IAR) сделать из одного проекта другой - перенести его в другую папку и переименовать. Это не только потому, что на основе старых проектов удобно делать новые, а потому, что вместе с IAR поставляется много примеров, которые очень хорошо использовать в качестве основы нового проекта.

Например, из примера getting-started-project от IAR (находится в папке c:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\examples\Atmel\at91sam7x-ek) нам надо сделать новый проект, находящийся в папке c:\arm\myfirstproj. Далее будем для простоты путь c:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\ заменять на $TOOLKIT_DIR$\, а папку проекта c:\arm\myfirstproj\ на $PROJ_DIR$\..\. Процесс по шагам:

1. Создаем папку c:\arm\myfirstproj. Папка проекта ($PROJ_DIR$) будет соответствовать c:\arm\myfirstproj\ewp.

2. Содержимое папки $TOOLKIT_DIR$\examples\Atmel\at91sam7x-ek\getting-started-project копируем в папку $PROJ_DIR$\..\ (c:\arm\myfirstproj\).

3. Файл $PROJ_DIR$\..\getting-started-project.eww переименовываем в $PROJ_DIR$\..\myfirstproj.eww.

4. Файл $PROJ_DIR$\..\settings\getting-started-project.wsdt переименовываем в $PROJ_DIR$\..\settings\myfirstproj.wsdt.

5. Если опции старого проекта, который использовали для создания копии, были установлены по уму, и в папке проекта есть все исходные файлы, то больше никаких телодвижений не требуется. Но в примерах от IAR все устроено несколько сложнее - из-за использования внешних библиотек. Запускаем проект (меню File -> Open -> Workspace..., выбираем файл $PROJ_DIR$\..\myfirstproj.eww), и попробуем его перекомпилировать заново (Project ->  Clean, Project -> Rebuild All). Компилятор будет выдавать ошибки наподобие:
- Fatal Error[Pe005]: could not open source file "board.h"
- Fatal Error[Pe005]: could not open source file "pio/pio.h"
- Fatal Error[Pe005]: could not open source file "aic/aic.h"
- Fatal Error[Pe005]: could not open source file "utility/led.h"
- Fatal Error[Pe005]: could not open source file "utility/assert.h"
- Fatal Error[Lc002]: could not open file "c:\asm\myfirstproj\ewp\..\..\..\at91Iib\boards\at91sam7x-ek\at91sam7x256\sram.icf"

Файл board.h находится в папке $TOOLKIT_DIR$\examples\Atmel\at91lib\boards\at91sam7x-ek\. В установках проекта этот путь задан относительно старого значения $PROJ_DIR$ - $PROJ_DIR$\..\..\..\at91lib\boards\at91sam7x-ek, но оно у нас поменялось. Поэтому исправим $PROJ_DIR$\..\..\..\at91lib\boards\at91sam7x-ek на $TOOLKIT_DIR$\examples\Atmel\at91lib\boards\at91sam7x-ek. Еще лучше будет скопировать папку resources и at91lib вместе с подкаталогами в корневую папку проекта и указать путь до неё через относительный каталог $PROJ_DIR$.

Аналогично исправляем (Project -> Options... -> C/C++ Compiler -> закладка Preprocessor):
$PROJ_DIR$\..\..\..\at91lib\peripherals
   на
$TOOLKIT_DIR$\examples\Atmel\at91lib\peripherals

$PROJ_DIR$\..\..\..\at91lib
   на
$TOOLKIT_DIR$\examples\Atmel\at91lib

Чтобы исправить ошибку линкера Lc002, исправляем (Project -> Options... -> Linker -> закладка Config -> галочка Linker configuration file\Override default):
$PROJ_DIR$\..\..\..\at91lib\boards\at91sam7x-ek\at91sam7x256\sram.icf
    на
$TOOLKIT_DIR$\examples\Atmel\at91lib\boards\at91sam7x-ek\at91sam7x256\sram.icf

После этого пропадут все ошибки.

6. Исправляем путь к макросам отладчика (Project -> Options... -> Debugger -> галочка Use macro file(s)):
$PROJ_DIR$\..\..\..\resources\at91sam7xx-ek-sram.mac
   на
$TOOLKIT_DIR$\examples\Atmel\resources\at91sam7xx-ek-sram.mac

7. Аналогичным образом правим все конфигурации, какие есть в проекте (at91sam7x128_flash, at91sam7x128_sram, at91sam7x256_flash, at91sam7x256_sram, at91sam7x512_flash, at91sam7x512_sram). Ненужные конфигурации можно удалить.

Все, получили проект в новой папке. Если мы хотим поменять имя проекта, то действуем следующим образом:
8. В папке ewp проекта переименовываем файлы:
getting-started-project.dep
getting-started-project.ewd
getting-started-project.ewp
    в
myfirstproj.dep
myfirstproj.ewd
myfirstproj.ewp

9. В папке ewp\settings\ проекта переименовываем файлы:
getting-started-project.dbgdt
getting-started-project.dni
getting-started-project.cspy.bat
getting-started-project_at91sam7x256_flash.jlink
getting-started-project_at91sam7x256_sram.jlink
    в
myfirstproj.dbgdt
myfirstproj.dni
myfirstproj.cspy.bat
myfirstproj_at91sam7x256_flash.jlink
myfirstproj_at91sam7x256_sram.jlink

10. Открываем переименованный на шаге 3 файл myfirstproj.eww текстовым редактором, ищем там строку:
$WS_DIR$\ewp\getting-started-project.ewp
    и меняем её на:
$WS_DIR$\ewp\myfirstproj.ewp

Готово!

 

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


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

Top of Page