Например, из примера 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
Готово!