Информационный портал технической поддержки Центра проектирования интегральных микросхем |
Поддержка микроконтроллера К1986ВК025 на базе ядра RISC-V предусмотрена как в среде IDE Eclipse (подробнее в соответствующей статье), так и в среде IAR Embedded Workbench for RISC-V. При работе с IAR EW требуется использовать программатор I-Jet.
Статья содержит информацию о:
1. Добавлении поддержки МК К1986ВК025 в среду IAR EW for RISC-V.
2. Создании и конфигурации базового проекта.
3. Особенностях конфигурации отладочной платы и подключении отладчика при работе с IAR EW for RISC-V.
4. Запуске отладки проектов в среде IAR EW for RISC-V.
5. Дополнительных особенностях настроек среды/использования файлов поддержки.
По состоянию на 2024 год предполагается переход на микросхемы MDR1206FI, MDR1206AFI, которые являются усовершенствованной версией К1985ВК025 (MDR32F02) с некоторыми отличиями. Поскольку МК MDR1206(A)FI функционально близки к К1986ВК025, программная поддержка уровня CMSIS и SPL для микроконтроллеров К1986ВК025 (MDR32F02), MDR1206FI и MDR1206AFI реализована в общей библиотеке - MDR32VF0xI. Поэтому информация из данной статьи по большей части также применима и для MDR1206(A)FI.
В свою очередь проекты (в том числе шаблонов) для микроконтроллеров реализованы как один общий для всех, так и раздельные индивидуально под МК.
Для выбора конкретного МК необходимо выбрать соответствующий макрос USE_MDR... в файле MDR32VF0xI_config.h на уровне SPL или, если уровень SPL не используется и используется только уровень CMSIS, в файле system_MDR32VF0xI_config.h на уровне поддержки устройства (DeviceSupport) в CMSIS. После выбора конкретного МК с помощью макроса при сборке проекта необходимо также выбрать соответствующую микроконтроллеру конфигурацию сборки. Для К1986ВК025, не смотря на то, что микроконтроллер один, макросов предусмотрено два (с сохранением одной конфигурации сборки) - для ревизий 1.0, 1.1 и ревизии 2.0.
Примеры проектов с общим для микроконтроллеров MDR32F02, MDR1206FI, MDR1206AFI функционалом реализованы в общем для всех примере. Например, проект MDR32VF0xI_Led является общим для всех этих МК.
Для добавления поддержки МК К1986ВК025 (MDR32F02) в среду IAR EW for RISC-V необходимо запустить установочный exe-файл, который автоматически добавит требуемые файлы, из архива в "Файлы поддержки IDE IAR EW for RISC-V для МК К1986ВК025, MDR1206FI, MDR1206AFI" - предварительно рекомендуется ознакомиться с информацией в ReadMe.pdf. После этого в настройках проекта можно будет выбирать МК: Milandr -> MDR32VF0xI -> "Milandr MDR32F02".
После запуска среды IAR EW for RISC-V необходимо создать новое рабочее пространство (File->New Workspace), затем - новый проект (Project->Create New Project...). В окне "Create New Project" следует выбрать Milandr project templates->MDR32F02 empty project. Также может быть выбран вариант "MDR1206AFI empty project" - информация о различии приведена выше.
Рисунок 1 - Окно создания нового проекта
После создания и сохранения файла проекта будет создан новый пустой проект, в котором, уже произведены основные настройки.
В меню настроек можно зайти, нажав ПКМ по проекту, и в появившемся всплывающем окне выбрав пункт "Options...". Из примененных настроек стоит обратить внимание на настройки программатора - для микросхем ревизий 1 и 1.1 в настройках сброса должен быть выбран пункт Software, иначе будет невозможно подключиться программатором к микроконтроллеру до сброса питания (рисунок 2).
Рисунок 2 - Выбор типа сброса в настройках отладчика I-jet
В шаблоне проекта MDR32F02 empty project реализованы несколько конфигураций:
Различия в этих конфигурациях заключаются в расположении кода и данных.
В конфигурациях "RAM_TCM_Debug" весь код и данные расположены в ОЗУ, поэтому конфигурация подходит только для отладки - код загружается в микроконтроллер только отладчиком-программатором при входе в отладку, при сбросе по питанию ОЗУ очищается.
В конфигурациях "FLASH" код программы расположен в Flash-памяти, данные расположены в ОЗУ. Так как используется FLASH-память, для ее программирования применяется алгоритм Flashloader.
За указание расположения областей программы по определенным регионам памяти отвечает файл Linker Configuraion, указываемый в настройках проекта (Options for node...->Linker->Linker configuration file). В меню настроек можно зайти, нажав ПКМ по проекту, и в появившемся всплывающем окне выбрав пункт "Options...". В файлах поддержки для IAR EW реализованы 3 Linker-файла для размещения кода программы в Flash-памяти, памяти TCM RAM или AHB RAM (рисунок 3) - пользователем могут быть выбраны другие самостоятельно разработанные варианты.
Рисунок 3 - Выбор Linker файла для расположения кода в ОЗУ или FLASH
Код для проекта HelloWorld можно взять из папки ExampleProjects\MDR32VF0xI\MDR32VF0xI_Led (файл main.c в папке src) из архива "Файлы поддержки IDE IAR for RISCV для МК 1986ВК025, MDR1206FI, MDR1206AFI".
В проекте MDR32VF0xI_Led осуществляется подключение требуемых библиотек (заголовочный файл МК, библиотеки тактирования и портов общего назначения), включение тактирования порта D и инициализация его выводов 0-3 (на отладочной плате К1986ВК025 ТСКЯ.468998.125 светодиоды LED[4:1] заведены на выводы PD[3:0]), отключение светодиодов LED[4:1] и затем циклическое их переключение.
После копирования кода из примера MDR32VF0xI_Led в файл main.c проекта необходимо скомпилировать проект (рисунок 4) с помощью кнопки на верхней панели, или же ПКМ по проекту->Make (выделено на рисунке 4 красным) - при этом среда IAR потребует сохранить рабочее пространство.
Рисунок 4 - Компиляция проекта
Для работы с I-Jet по JTAG на отладочной плате должны быть убраны перемычки на разъёме JTAG TO USB. Более подробно о возможностях отладки микроконтроллера К1986ВК025 на отладочной плате - в статье Создаем проект для МК К1986ВК025 в IDE Eclipse.
На отладочной плате должны быть установлены перемычки на разъемах 3V3 to LED и 3V3 to LCD_LED.
После успешной компиляции проекта можно приступить к отладке. Для этого нужно выбрать пункт Project->Download and Debug. После этого произойдёт прошивка памяти Flash (если используются конфигурации "FLASH" - в конфигурациях "RAM_TCM_Debug" ПО запускается из ОЗУ без программирования Flash-памяти) и будет запущен режим отладки. Для запуска проекта следует выбрать опцию Debug->Go (или клавиша F5).
Для просмотра регистров ядра и периферии нужно перейти в пункт View->Registers->Registers 1 - после этого появится окно просмотра регистров.
Перед запуском отладки, если требуется просмотр регистров периферийных блоков микроконтроллера К1986ВК025 (MDR32F02) ревизий 1 и 1.1, необходимо изменить подключаемый по умолчанию файл Device Description File в настройках проекта - в категории Debugger, вкладка Setup(рисунок 5). По умолчанию подключен файл ddf для К1986ВК025 ревизии 2.
Рисунок 5 - Выбор используемого ddf-файла для отладки
Для прошивки памяти без запуска режима отладки: Project->Download->Download active application. При этом, однако, программирование образа загрузочной программы, если она указана в настройках проекта в категории Debugger, осуществляться не будет.
Для стирания Flash памяти: Project->Download->Erase memory.
Сайт: | https://support.milandr.ru |
E-mail: | support@milandr.ru |
Телефон: | +7 495 221-13-55 |