В этом руководстве рассказывается, как разрабатывать и отлаживать проекты firmware для микроконтроллеров ARM7 Atmel (AT91SAM7S256, AT91SAM7X512 и другие) с помощью OpenOCD и Visual Studio (перевод статьи [1]).
Перед тем, как выполнить все шаги по настройке проекта, пожалуйста установите VisualGDB 4.0, или более позднюю версию.
1. Запустите Visual Studio. Выберите в меню File -> New -> Project.
2. Выберите VisualGDB -> Embedded Project Wizard. Укажите каталог для проекта и введите имя проекта.
3. Выберите "Embedded binary". Если Вы хотите программировать firmware в память FLASH микроконтроллера с использованием какого-то дополнительного инструментария, то рекомендуется разрешить опцию 'create additional .bin file'.
4. Выберите тулчейн "arm-abi". Если его нет, то VisualGDB автоматически загрузит и установит его:
5. Если Вы не видите микроконтроллеров AT91SAM7 в списке устройств, кликните "Download Support for more devices", найдите "AT91SAM7S MCUs" и кликните "Install selected packages":
6. Теперь выберите Ваш микроконтроллер из списка устройств. В этом руководстве в качестве примера мы будем использовать AT91SAM7S256:
7. На следующей странице выберите пример в качестве основы для нового проекта. Самый простой LEDBlink. Альтернативно VisualGDB может создать проекты из примеров, предоставленных компанией Atmel.
8. Последняя страница позволяет выбрать метод отладки. Мы будем использовать инструментарий OpenOCD для отладки с использованием программатора Olimex ARM-USB-OCD-H. Если у Вас еще не установлена система OpenOCD, кликните "Install support for additional debug methods", выберите "OpenOCD" и кликните OK:
9. На странице настройки метода отладки нажмите кнопку "Detect" для автоматического определения подключенного программатора JTAG, или выберите программатор из списка:
10. Подключите Ваш программатор JTAG к отлаживаемой плате, подайте на неё питание и нажмите "Test selected OpenOCD settings". Если у Вас не установлен драйвер FTDI, то VisualGDB установит его для Вас. Успешный результат теста будет выглядеть примерно так:
11. Если Dы хотите настроить скрипты OpenOCD, чтобы подправить разные установки, то можете переключиться в режим ручной настройки:
12. Если Вы знаете, как устанавливать драйверы, то можете установить драйвер FTDI вручную, кликнув на "Start driver tool", после чего найдите Ваше устройство в списке (выберите интерфейс 0):
13. После того, как соединение с отладчиком протестировано, закройте окно теста и нажмите "Finish" для завершения работы мастера. VisualGDB сгенерирует проект Visual Studio для выбранного Вами микроконтроллера. Проведите сборку проекта, нажав комбинацию горячих клавиш Ctrl-Shift-B:
14. Установите контрольную точку на строке, где включается светодиод LED, и нажмите F5 для запуска отладки:
15. Как только выполнение программы достигнет точки останова, нажимайте F10 для пошаговой отладки по строкам программы, или нажмите F5 для запуска программы до следующей итерации цикла, чтобы точка останова сработала снова. Понаблюдайте, как LED будет включаться и выключаться:
16. Нажмите Shift-F5 для остановки отладки. Сделайте правый клик на имя проекта в окне Solution Explorer, и выберите VisualGDB Project Properties:
Вы можете использовать окно 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. |