Запуск примера Olimex с альпинистом на макетной плате SAM7-EX256 |
![]() |
Добавил(а) microsin | |||
Тестовый проект от Olimex отображает картинку на цветном индикаторе, озвучивает рычажок контактного "джойстика", кнопки включают и выключают подсветку. Пример предназначен для IAR версии 4.30, и на версии IAR 5.3 и более поздних он просто так не заработает, поскольку требует подключения нового кода инициализации процессора. Раньше этот код находился в файле cstartup.s, теперь - в board_cstartup_iar.s. Итак, процесс по шагам. 1. Скачал пример (см. ссылки), загрузил в IAR Embedded Workbench for ARM 5.3. При загрузке IAR предложил сконвертировать старую версию конфигурации в новую, согласился. 2. После успешной загрузки попытался сразу скомпилировать. Компилятор ругнулся на отсутствие файла в #include "ioat91sam7x256.h". Нашел этот файл в папке c:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\inc\Atmel\, скопировал в корневую папку проекта (туда же, где находится SAM7_EX256.eww, adc.h, adc.h, main.c и все другие модули проекта). После этого компиляция прошла успешно. 3. Попытался запустить отладку, получил сообщение об ошибке "The debugging session could not be started. Either the debugger initialization failed, or else the file "...\SAM7_EX256\Debug\Exe\SAM7_EX256.out" was corrupt or of an unsupported format. There might be more information in the Debug Log window" В логе отладки (Debug Log): 4. Поменял в конфигурации проекта SAM7_EX256 (открыл вторую копию IAR, загрузил проект adkm и просто сравнил конфигурации): Debugger -> Setup -> Use macro file(s) -> $PROJ_DIR$\SAM7.mac поменял на $PROJ_DIR$\at91lib\resources\flash.mac. Файл flash.mac взял из папки at91lib\resources\ проекта adkm (просто переписал папку at91lib\resources в корень проекта SAM7_EX256). Debugger -> Download -> I Use flash loader(s) поменял ",,,,$TOOLKIT_DIR$\config\flashloader\Atmel\FlashAT91SAM7X.d79," на ",,,0x100000,(default)," с помощью кнопки "Edit...". 5. Снова запустил отладку. Чип прогрузился нормально, но отладка не запустилась с сообщением "Found active soft BP when downloading to flash. Flash download canceled.". Поменял настройку линкера. После компиляции вывалилось сообщение "Building configuration: SAM7_EX256 - Debug И отладка опять не запустилась. Причина была в том, что пока не был подключен файл инициализации процессора board_cstartup_iar.s. 6. Добавил группу at91lib, а туда группу board, а также группу at91sam7x256, по аналогии с проектом adkm. Добавил туда файлы board_cstartup_iar.s, board_lowlevel.c, board_memories.c, board_memories.h, board-pkrc-m.h, board.h, AT91SAM7X256.h. 7. Linker -> Library -> Override default program entry -> поменял адрес запуска программы, было __iar_program_start, стало resetHandler. После этого проект нормально скомпилировался, запустилась отладка, и на индикаторе макетной платы SAM7_EX256 отобразился скалолаз. Тест-программа заработала. [Ссылки] 1. Оригинальная тест-программа от Olimex со скалолазом (проект для IAR версии 4.30, SAM7_EX256.zip). |