Информационный портал технической поддержки Центра проектирования интегральных микросхем |
Для работы, помимо самой среды Visual Studio Code, нужны:
1. GNU RISC-V Embedded GCC – набор программ (компилятор, ассемблер, компоновщик, библиотеки, отладчик GDB), которые необходимы для разработки ПО на устройствах с ядром RISC-V.
GNU RISC-V Embedded GCC доступен для скачивания по ссылке: https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases. Т.к. пакет xPack собирается разработчиками для нескольких платформ, скачивать нужно архив для целевой ОС.
2. Windows Build Tools (при использовании ОС Windows) – набор программ (make, rm), которые необходимы для сборки и очистки проекта.
Windows Build Tools доступен для скачивания по ссылке: https://xpack.github.io/dev-tools/windows-build-tools/install/. Для скачивания Windows Build Tools в виде архива необходимо на странице для скачивания перейти в раздел "Manual install", затем после перехода на GitHub открыть страницу "Releases".
3. OpenOCD - ПО для программирования и отладки устройств. OpenOCD для Windows, собранный с поддержкой МК MDR1206FI и MDR1206AFI, доступен для скачивания в конце статьи, раздел "Программное обеспечение", или на официальном сайте компании Миландр. При использовании ОС Linux версию OpenOCD с поддержкой микросхем компании Миландр можно собрать самостоятельно (см. "[i] Компиляция OpenOCD из исходных данных").
В самой среде Visual Studio Code потребуются следующие расширения:
В конце статьи приложен архив с шаблоном проекта:
Рисунок 2 – Шаблон проекта
В этом шаблоне расположены все необходимые файлы:
Перед запуском отладки проект необходимо собрать вручную.
Но перед самой сборкой нужно указать с помощью определений, для какой микросхемы будет собираться проект (поскольку это определяется не только за счет ключей сборки, но и за счет директив препроцессора):
Далее для сборки проекта нужно нажать в меню Terminal опцию Run Build Task... и в появившемся меню выбрать требуемую конфигурацию сборки:
В файле tasks.json описано, какие команды вызываются при вызове каждой из задач - с какими ключами MCU и CONFIG вызывается команда make.
Сборка проекта осуществляется в папке build, в ней располагаются все собранные файлы, а также добавляется файл current_config.mk c текущей конфигурацией (MCU и CONFIG). По результатам сборки создаются файлы программы .elf и .hex, а также вспомогательные .map и .lst. Их название соответствует названию проекта, заданному в settings.json с помощью PROJECT_NAME.
Также по результатам успешной сборки в терминале выводится информация о размере собранного elf-файла.
В качестве примере соберем проект в конфигурации "Build: MDR1206 FLASH" для микросхем MDR1206FI, MDR1206AFI с запуском из FLASH-памяти.
Рисунок 5 – Результаты сборки
При повторном запуске той же задачи сборки будут пересобраны только измененные файлы. Если требуется полная пересборка ранее собранной конфигурации, сначала требуется удалить собранные файлы с помощью задачи Clean build, и затем заново запустить требуемую конфигурацию.
Отладка осуществляется с помощью riscv-none-elf-gdb (который находится в составе xPack) и OpenOCD (скачанного/собранного ранее). Для работы с ними в среде Visual Studio Code используется плагин Cortex-Debug.
В шаблоне проекта уже реализованы необходимые настройки для запуска отладки в файле launch.json.
В качестве аппаратного отладчика выбрана используемая на отладочной плате микросхема FT2232HL.
Для запуска отладки нужно открыть представление Run and Debug (View->OpenView->Run and Debug или нажать кнопку с "жуком" на боковой панели).
Рисунок 6 – Представление Run and Debug
В этом представлении выбрать нужную отладочную конфигурацию. Ранее проект был собран в конфигурации "Build: MDR1206 FLASH", соответственно на этапе запуска отладки нужно выбрать конфигурацию "Debug MDR1206FI (FT2232HL debugger)" и нажать зеленую стрелку.
После запуска программа остановится в начале функции main(). Процессом исполнения программы можно управлять с помощью панели сверху. Регистры периферийных блоков доступны во вкладке XPERIPHERALS. Регистры ядра отображаются в VARIABLES->Registers.
Сайт: | https://support.milandr.ru |
E-mail: | support@milandr.ru |
Телефон: | +7 495 221-13-55 |