Разработка проектов AT91SAM7 в Visual Studio Печать
Добавил(а) microsin   

В этом руководстве рассказывается, как разрабатывать и отлаживать проекты firmware для микроконтроллеров ARM7 Atmel (AT91SAM7S256, AT91SAM7X512 и другие) с помощью OpenOCD и Visual Studio (перевод статьи [1]). 

Перед тем, как выполнить все шаги по настройке проекта, пожалуйста установите VisualGDB 4.0, или более позднюю версию. 

1. Запустите Visual Studio. Выберите в меню File -> New -> Project. 

VisualStudio ARM 01 newproj

2. Выберите VisualGDB -> Embedded Project Wizard. Укажите каталог для проекта и введите имя проекта.

VisualStudio ARM 02 embedded

3. Выберите "Embedded binary". Если Вы хотите программировать firmware в память FLASH микроконтроллера с использованием какого-то дополнительного инструментария, то рекомендуется разрешить опцию 'create additional .bin file'. 

VisualStudio ARM 03 newbinary

4. Выберите тулчейн "arm-abi". Если его нет, то VisualGDB автоматически загрузит и установит его: 

VisualStudio ARM 04 newdev

5. Если Вы не видите микроконтроллеров AT91SAM7 в списке устройств, кликните "Download Support for more devices", найдите "AT91SAM7S MCUs" и кликните "Install selected packages": 

VisualStudio ARM 05 sam7

6. Теперь выберите Ваш микроконтроллер из списка устройств. В этом руководстве в качестве примера мы будем использовать AT91SAM7S256: 

VisualStudio ARM 06 sam7s256

7. На следующей странице выберите пример в качестве основы для нового проекта. Самый простой LEDBlink. Альтернативно VisualGDB может создать проекты из примеров, предоставленных компанией Atmel. 

VisualStudio ARM 07 ledblink

8. Последняя страница позволяет выбрать метод отладки. Мы будем использовать инструментарий OpenOCD для отладки с использованием программатора Olimex ARM-USB-OCD-H. Если у Вас еще не установлена система OpenOCD, кликните "Install support for additional debug methods", выберите "OpenOCD" и кликните OK: 

VisualStudio ARM 09 openocd

9. На странице настройки метода отладки нажмите кнопку "Detect" для автоматического определения подключенного программатора JTAG, или выберите программатор из списка: 

VisualStudio ARM 10 olimex

10. Подключите Ваш программатор JTAG к отлаживаемой плате, подайте на неё питание и нажмите "Test selected OpenOCD settings". Если у Вас не установлен драйвер FTDI, то VisualGDB установит его для Вас. Успешный результат теста будет выглядеть примерно так:

VisualStudio ARM 11 advanced

11. Если Dы хотите настроить скрипты OpenOCD, чтобы подправить разные установки, то можете переключиться в режим ручной настройки:

VisualStudio ARM 12 drivertool

12. Если Вы знаете, как устанавливать драйверы, то можете установить драйвер FTDI вручную, кликнув на "Start driver tool", после чего найдите Ваше устройство в списке (выберите интерфейс 0): 

VisualStudio ARM 20 test

13. После того, как соединение с отладчиком протестировано, закройте окно теста и нажмите "Finish" для завершения работы мастера. VisualGDB сгенерирует проект Visual Studio для выбранного Вами микроконтроллера. Проведите сборку проекта, нажав комбинацию горячих клавиш Ctrl-Shift-B: 

VisualStudio ARM 21 build

14. Установите контрольную точку на строке, где включается светодиод LED, и нажмите F5 для запуска отладки: 

VisualStudio ARM 22 debug

15. Как только выполнение программы достигнет точки останова, нажимайте F10 для пошаговой отладки по строкам программы, или нажмите F5 для запуска программы до следующей итерации цикла, чтобы точка останова сработала снова. Понаблюдайте, как LED будет включаться и выключаться:

VisualStudio ARM 23 board

16. Нажмите Shift-F5 для остановки отладки. Сделайте правый клик на имя проекта в окне Solution Explorer, и выберите VisualGDB Project Properties: 

VisualStudio ARM 24 settings

Вы можете использовать окно Project Properties, чтобы изменить различные настройки проекта, связанные со сборкой и отладкой. 

[Ссылки

1. Developing AT91SAM7 projects with Visual Studio site:visualgdb.com.
2. OpenOCD: руководство пользователя.
3. Использование MS Visual Studio IDE для программирования AVR/Arduino.
4. Simple ARM Board на AT91SAM7S256.