Пакет поддержки Artery
|
Перед началом работы выполните общую подготовку и настройку из статьи Запуск моделей на целевом оборудовании. В ней описаны общие шаги для запуска моделей на целевом оборудовании: подготовка окружения, подключение, генерация и сборка, а также базовая проверка запуска. |
В этой статье описаны особенности запуска моделей на микроконтроллерах Artery AT32 в режиме Target Hardware.
Для работы с платами Artery AT32 в режиме Target Hardware используется блок EDM-Target-Artery. Он обеспечивает генерацию кода, сборку и загрузку прошивки, а также запуск модели на микроконтроллере.

Конфигурация периферии (таймеры, USART, DMA, GPIO, ADC) выполняется в среде AT32 Workbench — официальном инструменте Artery для генерации проекта.
Параметры блока EDM-Target-Artery
Блок EDM-Target-Artery настраивает взаимодействие с микроконтроллером через следующие параметры:
-
Модель МК: — модель микроконтроллера (например,
AT32F435ZMT7). При указанииautoопределяется автоматически из проекта AT32 Workbench. -
Путь к проекту AT Workbench: — полный путь к папке сгенерированного проекта AT32 Workbench (содержит
CMakeLists.txtи файл.ATWP). -
Путь к тулчейну для сборки: — полный путь к
arm-none-eabi-gcc. При указанииautoпоиск выполняется автоматически: сначала по переменным окружения (ARM_NONE_EABI_PATH,ARM_GCC_TOOLCHAIN_PATH,GCC_ARM_NONE_EABI_PATH), затем в путях AT32 IDE, затем вPATH. -
Программатор: — тип программатора:
openocdилиat-link-console. -
Путь к утилите для прошивки: — полный путь к
ATLink_Console.exe(AT-Link Console) илиopenocd.exe(OpenOCD). При указанииautoпоиск выполняется автоматически: сначала по переменным окружения (ATLINK_CONSOLE_PATH,AT_LINK_CONSOLE_PATH), затем в путях AT32 IDE, затем вPATH. -
COM порт: — последовательный порт для интерактивного режима (например,
COM3или/dev/ttyACM0). -
Резервируемый модуль USART: — номер USART, используемый для интерактивного режима. Должен совпадать с модулем USART (USART1–USART6, UART4–UART8), настроенным в AT32 Workbench.
Необходимое ПО
Для работы с Artery AT32 требуется установить следующие инструменты:
-
AT32 Workbench — для конфигурирования периферии микроконтроллера и генерации проекта с системой сборки CMake. Скачать можно с официального сайта Artery.
-
Компилятор
arm-none-eabi-gcc— рекомендуется использовать версию из состава AT32 IDE либо устанавливать отдельно. -
Программатор — OpenOCD с поддержкой AT32 или AT-Link Console.
Допускается работа без AT32 IDE. В этом случае необходимо установить отдельно:
-
Компилятор
arm-none-eabi-gcc. -
OpenOCD или AT-Link Console для прошивки.
Использование утилит возможно двумя способами:
-
Указание утилит вручную — задайте полный путь к компилятору и программатору в параметрах блока EDM-Target-Artery.
-
Режим
auto— Engee будет искать утилиты автоматически. В этом случае используется переменная окруженияPATH, и утилиты должны быть доступны через нее.
Подготовка Engee
Убедитесь, что пакет поддержки оборудования установлен и настроен. Его установка подробно описана в разделе Подключение к оборудованию.
Если пакет поддержки уже установлен, можно переходить к запуску клиентской программы и подключаться по выданному URL.
Подготовка проекта AT32 Workbench
-
Установите и настройте AT32 Workbench.
-
Создайте проект для вашего микроконтроллера AT32:
-
Выберите целевой микроконтроллер (например,
AT32F435ZMT7). -
Настройте необходимую периферию.
-
-
В настройках проекта выберите систему сборки CMake и нажмите Generate Code:

-
Сохраните проект в удобную директорию. Убедитесь, что в корне проекта присутствуют файлы:
-
CMakeLists.txt— корневой файл сборки CMake; -
<ProjectName>.ATWP— файл конфигурации AT32 Workbench; -
cmake/at32_workbench/CMakeLists.txt— файл тулчейна CMake.
-
-
Убедитесь, что
main.cсодержит пользовательские секции AT32 Workbench (добавляются автоматически при генерации):/* add user code begin private includes */ /* add user code end private includes */ /* add user code begin 0 */ /* add user code end 0 */ /* add user code begin 2 */ /* add user code end 2 */ /* add user code begin 3 */ /* add user code end 3 */
Настройка и запуск модели
-
Откройте модель Engee.
-
Нажмите кнопку выбора целевой платформы и выберите Target Hardware:

-
Добавьте блок EDM-Target-Artery из библиотеки блоков на холст Engee. Если блок отсутствует, обновите пакет поддержки командой:
engee.package.start("Engee-Device-Manager") -
Настройте блок EDM-Target-Artery:
-
Модель МК: — укажите модель вашего МК или
autoдля автоматического определения; -
Путь к проекту AT Workbench: — укажите путь к папке проекта;
-
Путь к тулчейну для сборки: —
autoили полный путь кarm-none-eabi-gcc; -
Путь к утилите для прошивки: —
autoили полный путь к программатору.
-
-
Выберите режим выполнения модели:
-
Запустить модель на железе
— интерактивное выполнение с управлением из Engee. -
Запуск в независимом режиме
— автономное выполнение без управления из Engee.
-
-
Нажмите кнопку запуска.
Если блок EDM-Target-Artery не добавлен в модель, при запуске появится ошибка: ErrorException("EDM-Target-Artery block not found. To start model in Target Hardware mode, the model must include an EDM-Target-Artery block.")
Интерактивный режим
Интерактивный режим использует USART с DMA для связи с Engee.
Планировщик выполнения модели (таймер) настраивается автоматически. Engee сам резервирует свободный таймер, рассчитывает предделитель и период и добавляет вызов model_tick() — ручная настройка таймера в AT32 Workbench не требуется.
-
В AT32 Workbench выберите свободный модуль USART (USART1–USART6 или UART4–UART8). Включите его:

-
Настройте параметры USART:
-
Mode —
Asynchronous; -
Baud Rate —
115200 Bit/s; -
Word Length —
8 Bits; -
Stop Bits —
1; -
Parity —
None.

-
-
Включите DMA для выбранного USART:
-
Перейдите на вкладку DMA.
-
Нажмите Add и добавьте DMA Request —
USARTx_RX, гдеx— номер резервируемого модуля USART. -
В поле Priority укажите
High. В настройках DMA Request Settings установите Mode вCircular.
-
Добавьте второй DMA Request —
USARTx_TX. В поле Priority укажитеHigh. В настройках DMA Request Settings установите Mode вNormal.
-
-
Сгенерируйте проект заново (Generate Code).
-
В параметрах блока EDM-Target-Artery укажите:
-
Резервируемый модуль USART — номер USART (например,
1для USART1); -
COM-порт — порт устройства.

-
Примеры COM-портов:
-
Linux —
/dev/ttyACM0; -
Windows —
COM1.
Проверка доступных портов:
-
Linux:
ls /dev | grep ttyACM; -
Windows: откройте «Диспетчер устройств» → «Порты (COM и LPT)» — номер порта указан в названии устройства (например,
COM3).
Решение возможных проблем
Проблемы обнаружения тулчейна
Если появляется ошибка о том, что компилятор или программатор не найдены:
-
Укажите путь вручную в параметрах блока EDM-Target-Artery вместо
auto. -
Проверьте, что утилиты доступны через переменную
PATH. -
Убедитесь, что установлен AT32 IDE (содержит
arm-none-eabi-gccиATLink_Console.exe).
Проблемы сборки
-
Проверьте, что в AT32 Workbench в качестве системы сборки выбран CMake.
-
Убедитесь, что в корне проекта есть
CMakeLists.txt. -
Ошибки сборки отображаются в интерфейсе клиентской программы с полным выводом.
Проблемы прошивки
-
Проверьте подключение программатора (AT-Link или совместимого).
-
Убедитесь, что микроконтроллер запитан и находится в режиме отладки.
-
Для OpenOCD проверьте наличие конфигурационных файлов
interface/atlink.cfgиtarget/at32f435xx.cfg.
Проблемы с подключением по USART
При сообщении Unable connect to target:
-
Проверьте надежность USB-соединения.
-
Убедитесь в корректности подключения TX/RX.
-
В Linux добавьте пользователя в группу, имеющую доступ к последовательным устройствам (например,
dialoutилиuucp— в зависимости от вашего дистрибутива).