Создаем проект в среде CodeMaster-ARM

ID статьи: 24206
Дата последнего изменения: 26.03.2026 10:55:00

CodeMaster-ARM - интегрированная среда разработки (IDE), содержащая набор программных средств для редактирования, компиляции и отладки приложений для встроенных микроконтроллеров с ядром ARM7, ARM9, Cortex-M0, Cortex-M1, Cortex-M3. Данная среда выпускается компанией Фитон. В таблице совместимости средств разработки и программаторов указано, что среда CodeMaster-ARM совместима с собственным программатором фирмы "Фитон" "JEM-ARM-V2" и также поддерживает программатор "JLink", и именно он будет использоваться.

Компания "Миландр" предоставляет файлы поддержки своих микроконтроллеров для CodeMaster-ARM. В этой статье описано создание проектов в данной среде:

Распаковщик SPL для CodeMaster-ARM можно скачать в конце статьи. Также в этом распаковщике уже содержится готовый проект из статьи.

Установка CodeMaster-ARM

Скачать архив среды можно с сайта фирмы Фитон в разделе загрузке во вкладке ARM & Cortex. В статье используется демо-версия этой программы, которая имеет ограничение по размеру кода 8192 байта, что достаточно для реализации проекта "HelloWorld". После распаковки архива и его инсталляции, при первом запуске среды будет предложено выбрать один из готовых уже проектов. Поскольку создается свой новый проект, данное окно можно закрывать.


Рисунок 1 - Окно готовых примеров

Создание нового проекта

Для создания нового проекта нужно перейти в вкладку Project→New. В открывшемся окне в разделе General Properties необходимо указать Project Name и Project Folder.


Рисунок 2 - Окно создания проекта


Project name(no path): "HelloWorld" - имя проекта.

Project folder: "HelloWorld" - это имя заранее созданной папки.

После создания проекта выполним некоторые настройки. Переходим в Debug→ Debug Options, и на вкладке Target нужно выбрать используемый микроконтроллер. В данной статье это К1986ВЕ92.


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

Следующим шагом нам нужно выбрать программатор. Для этого нужно перейти в Debug→ Choose debugger. Режим Simulator - это симулятор системы команд CodeMaster - программно-логическая модель ядра микроконтроллера ARM. При этом периферийные устройства не симулируются. В этом окне нужно выбрать используемый режим, в данном случае - режим J-Link JTAG Debugger. Однако его можно выбрать только при подключенном к компьютеру программаторе. Если программатор не подключен, то в этом случае следует выбрать режим Simulator.


Рисунок 4 - Выбор отладчика

Организация папок проекта и SPL

Стиль организации папок в статье аналогичен тому, как это по умолчанию делает среда Keil uVision, и как это описано в статье Создаем проект в среде IAR. Особенностью среды CodeMaster-ARM, в отличие от Keil или IAR, является то, что изменять структуру папок в окне проекта разработчиками не предусмотрено, поэтому все файлы, независимо от того, являются ли они библиотечными или это основной файл программы, складываются в папку «C Sources». Реальная структура директорий на диске будет сохранена, чтобы потом было удобнее в этом разобраться.


Рисунок 5 - Организация папок

Необходимо подключить библиотеки SPL, позволяющие работать с периферией микроконтроллера. Библиотека для микроконтроллеров компании «Миландр» скачивается с официального сайта по ссылке.

Для автоматической распаковки файлов библиотеки SPL можно воспользоваться установщиком в конце статьи.

Организация директорий и файлов, которые будут использоваться в проекте, приведена ниже.

ARM_CODE\ - Общая папка с проектами в CodeMaster-ARM

  1986BE9x\ - папка проектов под 1986BE9x
    MDR32F9Qx_board.h - файл выбора МК и ревизии
    HelloWorld - папка проекта

  SPL\ - папка SPL
    MDR32F9Qx_config.h - файл прочих настроек
    CMSIS\
      CM3\
        CoreSupport - поддержка ядра
        DeviceSupport\MDR32F9Qx\ - startup файлы
          inc
          startup\cmc
    
    MDR32F9Qx_StdPeriph_Driver\ - driver файлы
      inc
      src

Чтобы получилась такая раскладка, вот что нужно скопировать из архива SPL:

В папку ARM_CODE\SPL:
  исходные файлы SPL
    lib\MDR32F9_2013\lib\Libraries\все содержимое
  файлы с настройкой SPL под конкретный микроконтроллер
      lib\MDR32F9_2013\lib\Examples\MDR1986VE9x\MDR32F9Q3_EVAL\MDR32F9Qx_config.h

в папку ARM_CODE\1986BE9x:
  lib\MDR32F9_2013\lib\Examples\MDR1986VE9x\MDR32F9Q3_EVAL\MDR32F9Qx_board.h

Чтобы среда CodeMaster-ARM могла находить файлы SPL в такой раскладке, необходимо указать ей пути для поиска при сборке. Для этого нужно выбрать пункт «Project – Options», и в открывшемся окне выбрать вкладку «Folders». В строке «Include-files» нужно через запятую прописать относительные пути для файлов библиотеки.


Рисунок 6 - Выбор библиотечных файлов

Их можно скопировать отсюда:

..\. .\SPL\MDR32F9Qx_StdPeriph_Driver\inc;
..\. .\SPL\CMSIS\CM3\CoreSupport;
..\. .\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\inc;
..\. .\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\cmc;
..\. .\SPL;
..\

По нажатию на кнопку «…» слева от строки «Include-files» открывается окно редактирования указанных путей до библиотечных файлов. Должно получиться так:


Рисунок 7 - Редактирование путей до файлов библиотеки

Теперь необходимо подключить к проекту библиотечные файлы для работы с периферией. В данном проекте для работы со светодиодами через порты GPIO (общие порты ввода-вывода) понадобятся функции задания тактирования и работы с портами. Для этого нужно нажать правой кнопкой мыши на папку «C Sources» и в появившемся контекстном меню выбрать пункт «Add file to project…». В открывшемся окне перейти в добавленную ранее папку SPL, и далее по адресу «…\MDR32F9Qx_StdPeriph_Driver\src» выбрать файлы MDR32F9Qx_port.c и MDR32F9Qx_rst_clk.c. Здесь также предусмотрена опция копировать добавляемые файлы в директорию проекта. В данном проекте не используется такой стиль структурирования, поэтому стоит убрать галочку внизу окна с пункта «Copy files to the project directory».


Рисунок 8 - Подключение библиотечных файлов к проекту

После нажатия кнопки «Открыть» в окне проекта в папке «C Sources» должны появиться файлы MDR32F9Qx_port.c и MDR32F9Qx_rst_clk.c.


Рисунок 9 - Вид папок после подключения библиотечных файлов для работы с периферией

Теперь таким же образом нужно добавить Startup файл, но уже в папку "Asm Source". Для микроконтроллера К1986ВЕ92 startup расположен по пути: …\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\cmc - файл startup_MDR32F9Qx.mca.


Рисунок 10 - Вид папок после подключения Startup-файла

Создание main.c

Для удобства рекомендуется создать отдельную папку в директории проекта, в которую будут помещаться все Си-файлы. В примере эта папка названа src, а единственный содержащийся в ней файл - main.c. Для создания файла main.c, в котором будет написан код программы, необходимо нажать соответствующую кнопку на тулбаре, или же выбрать через меню «File – New».


Рисунок 11 - Кнопка создания нового файла

В открывшееся окно вставляем код мигания светодиодом из проекта «Hello, World». Далее нужно сохранить файл в созданную src-папку под именем main.c. Теперь необходимо добавить программу в проект. Для этого в окне проекта по нажатию правой кнопкой мышки на папку «C Sources» нужно выбрать пункт «Add file to project…», и в открывшемся окне выбрать файл main.c, убедившись при этом, что галочка «Copy files to the project directory» снята. После нажатия кнопки «Открыть» в окне проекта в папке «C Sources» должен появиться файл main.c, расположенный в директории src.


Рисунок 12 - Вид папок после добавления файла main.c

Теперь всё готово к запуску. Для компиляции проекта нужно нажать на соответствующую кнопку в тулбаре, нажать клавишу F7, либо через меню «Project – Make».


Рисунок 13 - Окно статуса компиляции

В открывшемся окне выводится результат компиляции. Если возникли какие-то ошибки и предупреждения, они отражены здесь. В данном примере ошибок нет. Следовательно, программу можно загружать в микроконтроллер. Это можно сделать через соответствующую кнопку на тулбаре, либо сочетанием клавиш Shift+F7, либо через меню «Project – Make and start debugging». Сразу же после начала прошивки появится окно с предупреждением, что будет произведено программирование Flash-памяти и это приведёт к потери текущего состояния микроконтроллера. Соглашаемся и нажимаем кнопку «Yes».


Рисунок 14 - Предупреждение об очистке и перепрограммировании Flash-памяти

После загрузки программы в микроконтроллер запускается режим отладчика. Для управления режимом отладки в тулбаре предусмотрена группа кнопок, определяющих запуск кода и шаги его выполнения. Чтобы начать выполнение программы, нужно нажать центральную кнопку с красной стрелочкой или F5.


Рисунок 15 - Кнопка запуска/остановки выполнения программы

Особенности работы со средой

1. Всегда важно отслеживать, чтобы файлы нужных расширений находились в необходимых стандартных папках дерева проекта. Например, ассемблерный файл startup должен строго находиться в папке "Asm Sourcses". Несоблюдение этого требования может приводить к ошибкам при сборке проекта.

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

Контактная информация

Сайт:https://support.milandr.ru
E-mail:support@milandr.ru
Телефон: +7 495 221-13-55