59822

[i] Создание проекта для МК MDR1206FI, MDR1206AFI, К1986ВК025 в Visual Studio Code

Дата последнего изменения: 17.10.2025 10:55:28
Статья содержит информацию по настройке среды Visual Studio Code для микросхем К1986ВК025, MDR1206FI, MDR1206AFI.

1. Установка необходимых компонентов

Для работы, помимо самой среды 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 из исходных данных").

После скачивания данного ПО для удобства дальнейшей работы следует добавить их в PATH (Windows/Linux) - во всех случаях добавлять в PATH нужно папки bin с исполняемыми файлами программ.

В самой среде Visual Studio Code потребуются следующие расширения:

  1. Стандартные С/С++ и C/C++ Extension Pack от Microsoft.
  2. Расширение Cortex-Debug, а также связанные с ним плагины, для отладки.
Рисунок 1 – Расширения для VSCode

2. Сборка проекта

В конце статьи приложен архив с шаблоном проекта:

Рисунок 2 – Шаблон проекта

2.1. Структура шаблона проекта

В этом шаблоне расположены все необходимые файлы:

  • src/main.c - файл с пустой функцией main() основной программы.
  • папка Library - папка с библиотекой SPL для микросхем.
  • папка svd - папка с файлами System View Description, с помощью которых далее можно будет просматривать регистры периферийных блоков под отладкой.
  • makefile - файл с правилами сборки проекта. Сборка возможна для разных микросхем MDR1206FI, MDR1206AFI, MDR32F02 (К1986ВК025) - выбор микросхемы осуществляется ключом MCU (возможные варианты - MDR1206 or MDR32F02). Также есть несколько скриптов линковки программы под разные регионы памяти (FLASH, ОЗУ) - выбор осуществляется ключом CONFIG (возможные варианты - FLASH, RAM_TCM_debug, RAM_TCM_release). Конфигурации сборки в общем аналогичны таковым в шаблоне проекта для среды EclipseФайлы при сборке собираются в папку build.
  • .vscode/settings.json - файл с общими настройками - в шаблоне проекта в этом файле добавлено ключевое слово для названия проекта, при необходимости переименования проекта нужно заменить значение "PROJECT_NAME" на свое.
  • .vscode/tasks.json - файл с задачами сборки проекта. Позволяет запускать сборку с помощью файла makefile с заранее установленными ключами, а также очищать папку build/ с собранными файлами.
  • .vscode/launch.json - файл с конфигурациями запуска отладки с помощью openocd и riscv-none-elf-gdb, используя плагин Cortex-Debug. Конфигурации запуска во многом аналогичны таковым в шаблоне проекта для среды Eclipse.

2.2 Сборка проекта

Перед запуском отладки проект необходимо собрать вручную.

Но перед самой сборкой нужно указать с помощью определений, для какой микросхемы будет собираться проект (поскольку это определяется не только за счет ключей сборки, но и за счет директив препроцессора):

Рисунок 3 – Выбор микроконтроллера директивами препроцессора

Далее для сборки проекта нужно нажать в меню Terminal опцию Run Build Task... и в появившемся меню выбрать требуемую конфигурацию сборки:

Рисунок 4 – Сборка проекта

В файле 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, и затем заново запустить требуемую конфигурацию.

3. Запуск отладки

Отладка осуществляется с помощью riscv-none-elf-gdb (который находится в составе xPack) и OpenOCD (скачанного/собранного ранее). Для работы с ними в среде Visual Studio Code используется плагин Cortex-Debug.

В шаблоне проекта уже реализованы необходимые настройки для запуска отладки в файле launch.json.

В качестве аппаратного отладчика выбрана используемая на отладочной плате микросхема FT2232HL.

Для работы c OpenOCD требуется переустановить драйвер отладчика, как это описано в статье [i] Создаем проект для МК MDR1206FI, MDR1206AFI в IDE Eclipse.
Если требуется выбрать другой аппаратный отладчик, например, JLink, нужно также обновить драйвера, а также в задаче в launch.json в поле configFiles вместо interface/ftdi/mdr-ft2232hl.cfg указать interface/jlink.cfg (см. "[i] Создаем проект для МК MDR1206FI, MDR1206AFI в IDE Eclipse" под рисунком 15).

Для запуска отладки нужно открыть представление Run and Debug (View->OpenView->Run and Debug или нажать кнопку с "жуком" на боковой панели).

Рисунок 6 – Представление Run and Debug

В этом представлении выбрать нужную отладочную конфигурацию. Ранее проект был собран в конфигурации "Build: MDR1206 FLASH", соответственно на этапе запуска отладки нужно выбрать конфигурацию "Debug MDR1206FI (FT2232HL debugger)" и нажать зеленую стрелку.

Рисунок 7 – Запуск отладки

После запуска программа остановится в начале функции main(). Процессом исполнения программы можно управлять с помощью панели сверху. Регистры периферийных блоков доступны во вкладке XPERIPHERALS. Регистры ядра отображаются в VARIABLES->Registers.

Рисунок 8 – Процесс отладки
Сохранить статью в PDF

Файлы для скачивания

Программное обеспечение

Software pack для Keil MDK 5 + Standard Peripherals Library
Software pack для Keil MDK 5 + Standard Peripherals Library
Загрузочная программа для микроконтроллера MDR1215LGI
Загрузочная программа для микроконтроллера MDR1215LGI

Теги

Была ли статья полезной?