[i] Создание проекта для МК MDR12065 в IAR EW for RISC-V
Содержание:
1. Подготовка среды IAR EW for RISC-V
2. HelloWorld для MDR12065
3. Подготовка отладочной платы, подключение отладчика
4. Запуск проекта
1. Подготовка среды IAR EW for RISC-V
Для добавления поддержки МК MDR12065 в среду IAR EW for RISC-V необходимо запустить установочный exe-файл, который автоматически добавит требуемые файлы, из архива в «Файлы поддержки IDE IAR EW for RISC-V для МК MDR12065» – предварительно рекомендуется ознакомиться с информацией в ReadMe.pdf. После этого в настройках проекта можно будет выбрать МК: Milandr -> MDR12065 -> Milandr MDR12065.1.1. Особенности поддержки стандартных Z-расширений ядра BM-310S0 в IAR
Ядро BM-310S0 микроконтроллера MDR12065 поддерживает стандартные расширения для битовых манипуляций и скалярной криптографии.В старых версиях IAR Embedded Workbench for RISCV возможность подключения любых Z-расширений при выборе микросхемы отсутствует, при их указании формируется ошибка. В актуальных версиях IAR неподдерживаемые стандартные Z-расширения игнорируются без ошибок, а также реализовано часть расширений, которые есть у ядра BM-310S0 микросхемы MDR12065.
Для обратной совместимости со старыми версиями среды разработки поддержка Z-расширений по умолчанию отключена, ее активацию необходимо выполнять вручную.
Чтобы ее включить на актуальных версиях IAR нужно:
-
Перейти в директорию, в которую установлены файлы поддержки. По умолчанию для инсталлятора это C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4.
-
Из директории перейти в папку .\riscv\config\devices\Milandr\MDR12065. Например, итоговый абсолютный путь будет C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\riscv\config\devices\Milandr\MDR12065.
-
В данной папке расположен конфигурационный xml-файл выбора устройства MDR12065.menu. Его необходимо открыть в текстовом редакторе, закомментировать строку <core>RV32IMCN</core> и раскомментировать строку <core>RV32IMCN_Zba_Zbb_Zbc_Zbs_Zbkb_Zbkc_Zbkx_Zknd_Zkne_Zknh_Zksed_Zksh</core>, как показано на рисунке 1.
Более подробно процедура описана в файле ReadMe.pdf, который идет с файлами поддержки IAR for RISCV для MDR12065.
2. HelloWorld для MDR12065
После запуска среды IAR EW for RISC-V необходимо создать новое рабочее пространство (File->New Workspace), затем - новый проект (Project->Create New Project...). В окне «Create New Project» следует выбрать Milandr project templates -> MDR12065 project templates -> MDR12065 empty project.Рисунок 2 – Окно создания нового проекта
После создания и сохранения файла проекта будет создан новый пустой проект, в котором уже произведены основные необходимые настройки.
2.1. Конфигурации проекта
- Конфигурация "FLASH" – для запуска программы из Flash-памяти с программированием hex-файла типовой загрузочной программы, расположенного в папке bootloader.
- Конфигурация "RAM_TCM_Debug" – для запуска программы из ОЗУ TCM RAM.
Рисунок 3 – Типовые конфигурации проекта
Различия в этих конфигурациях заключаются в расположении кода и данных.
В конфигурации "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 (рисунок 4) – пользователем могут быть выбраны другие самостоятельно разработанные варианты.
Рисунок 4 – Выбор Linker файла для расположения кода в ОЗУ или FLASH
2.1.1. Программирование загрузочной программы в область BOOT
Микросхемы MDR12065 поставляются запрограммированными загрузочной программой. Загрузочная программа в микроконтроллере расположена в области BOOT (информационной области Flash-памяти) и может быть стерта или перезаписана при использовании. Рекомендуется всегда использовать актуальную версию загрузочной программы с сайта.Скомпилированный образ описанного в спецификации примера загрузочной программы доступен в составе примеров и шаблона в папке bootloader - файл boot_MDR1206.hex.
Для программирования загрузочной программы в область BOOT можно использовать отладочные конфигурации "FLASH". Для данных конфигураций в настройках проекта в окне "Debugger", вкладка "Images", добавлена загрузка hex-файла загрузочной программы (рисунок 5). При активации опции "Download extra image" с выбранным файлом boot_MDR1206.hex при запуске отладки будет задействован алгоритм программирования Flashloader.
Рисунок 5 – Настройка программирования загрузочной программы в область BOOT
Если опция "Download extra image" не выставлена в конфигурациях "FLASH" (не выставляется при создании проекта из шаблона), ее необходимо выставить вручную.
2.2. Код проекта
Код для тестового проекта можно взять из файла Examples\MDR12065\PORT\main.c из архива "Файлы поддержки IDE IAR EW for RISC-V для МК MDR12065".
После копирования кода из примера в файл main.c проекта необходимо скомпилировать проект (рисунок 6) с помощью кнопки на верхней панели, или же ПКМ по проекту ->Make, среда IAR потребует сохранить рабочее пространство.
Рисунок 6 - Компиляция проекта
3. Подготовка отладочной платы, подключение отладчика
Для работы с отладчиком-программатором I-Jet по интерфейсу JTAG на отладочной плате все переключатели SA4 должны быть установлены в положение OFF. Более подробно о возможностях отладки микроконтроллера MDR12065 на отладочной плате написано в статье [i] Создание проекта для МК MDR12065 в IDE Eclipse.
Для работы светодиодов должна быть установлена перемычка XP1.
4. Запуск проекта
После успешной компиляции проекта можно приступить к отладке. Для этого нужно выбрать пункт Project->Download and Debug. После этого произойдёт прошивка памяти Flash (если используются конфигурации "FLASH" - в конфигурациях "RAM_TCM_Debug" ПО запускается из ОЗУ без программирования Flash-памяти) и будет запущен режим отладки (рисунок 7). Для запуска проекта следует выбрать опцию Debug->Go (или клавиша F5).
Для просмотра регистров ядра и периферии нужно перейти в пункт View->Registers->Registers 1 - после этого появится окно просмотра регистров.
Рисунок 7 - Режим отладки проекта
Для прошивки памяти без запуска режима отладки: Project -> Download -> Download active application. При этом, однако, программирование образа загрузочной программы, если она указана в настройках проекта в категории Debugger, осуществляться не будет.
Для стирания Flash памяти: Project -> Download -> Erase memory. Возможно осуществить стирание всей Flash-памяти и отдельно основной области памяти Flash и области BOOT.
Сохранить статью в PDF
Документация
Программное обеспечение