动脉支持包
|
在开始之前,从文章中做一般的准备和设置 在目标硬件上运行模型. 它描述了在目标硬件上启动模型的一般步骤:环境准备、连接、生成和组装,以及基本的启动验证。 |
本文介绍了在模式下在*动脉AT32*微控制器上运行模型的特性 目标硬件 .
在模式下使用*动脉AT32*卡 目标硬件 该区块正在使用中 EDM-Target-Artery. 它提供代码生成,固件组装和下载,以及在微控制器上运行模型。

外设配置(定时器,USART,DMA,GPIO,ADC)在*AT32Workbench*环境中执行,该环境是用于项目生成的官方专用工具。
EDM-目标-动脉块的参数
座 *EDM-Target-Artery*通过以下参数调整与微控制器的交互:
-
微控制器型号: -微控制器模型(例如,
AT32F435ZMT7). 指定时汽车它是从*AT32工作台*项目自动检测到的。 -
AT Workbench 项目路径: -生成的AT32Workbench项目的文件夹的完整路径(包含
CMakeLists.txt脧脗脭脴和文件.ATWP). -
构建工具链路径: -完整的路径
arm-none-eabi-gcc. 指定时汽车搜索是自动执行的:首先,由环境变量(ARM_NONE_EABI_PATH,ARM_GCC_TOOLCHAIN_PATH,GCC_ARM_NONE_EABI_PATH),然后在AT32IDE路径中,然后在路径. -
编程器: -程序员类型:
openocd或at-link-控制台. -
烧录工具路径: -完整的路径
ATLink_Console。exe文件(AT-Link控制台)或的openocd。exe文件(OpenOCD)。 指定时汽车搜索是自动执行的:首先,由环境变量(ATLINK_CONSOLE_PATH,AT_LINK_CONSOLE_PATH),然后在AT32IDE路径中,然后在路径. -
COM 端口: -用于交互模式的串行端口(例如,
COM3或/开发/ttyACM0). -
冗余 USART 模块: 是用于交互模式的USART编号。 必须匹配*AT32Workbench*中配置的USART模块(USART1–USART6,UART4–UART8)。
所需软件
要使用*动脉AT32*,您需要安装以下工具:
*AT32Workbench-用于配置微控制器外设并使用CMake构建系统生成项目。 你可以从 官方动脉网站。
*编译器 arm-none-eabi-gcc-建议使用AT32IDE版本或单独安装。
*程序员-OpenOCD与AT32或AT-Link控制台支持。
允许在没有AT32IDE的情况下工作。 在这种情况下,必须单独安装。:
*编译器 arm-none-eabi-gcc.
*用于固件的OpenOCD或AT-Link控制台。
有两种方法可以使用实用程序。:
*手动指定实用程序-在块参数中指定编译器和程序员的完整路径 EDM-Target-Artery .
*模式 汽车 — AnyMath 它会自动搜索实用程序。 在这种情况下,使用环境变量。 路径,并且实用程序应该可以通过它获得。
准备工作 AnyMath
确保已安装和配置硬件支持包。 它的安装在一节中详细描述 硬件连接。
如果已安装支持包,则可以继续启动客户端程序并使用提供的URL进行连接。
AT32工作台项目的准备工作
-
安装和配置*AT32工作台*。
-
为您的微控制器创建一个项目*AT32*:
*选择目标微控制器(例如, AT32F435ZMT7).
*设置必要的外围设备。
-
在项目设置中,选择*CMake*构建系统,然后单击*生成代码*:

-
将项目保存到方便的目录中。 确保项目的根目录中有文件。:
-
CMakeLists。txt脧脗脭脴-CMake构建根文件; -
<项目名称>。ATWP-配置文件*AT32工作台*; -
cmake/at32_workbench/CMakeLists。txt脧脗脭脴-CMake工具链文件。
-
-
确保
主要。c包含自定义*AT32工作台*部分(在生成过程中自动添加):/* 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 */
设置和启动模型
-
打开模型 AnyMath .
-
单击目标平台选择按钮并选择 目标硬件 :

-
添加块 EDM-Target-Artery 从块库到画布 AnyMath . 如果缺少该块,请使用以下命令更新支持包:
engee.package.start("Engee-Device-Manager") -
配置块 EDM-Target-Artery :
-
微控制器型号: -指定MK的型号或
汽车用于自动检测; -
AT Workbench 项目路径: -指定项目文件夹的路径;
-
构建工具链路径: —
汽车或完整的路径arm-none-eabi-gcc; -
烧录工具路径: —
汽车或者程序员的完整路径。
-
-
选择模型执行模式:
-
在硬件上运行模型
-交互式执行与控制从 AnyMath . -
以独立模式运行
-离线执行,无需控制 AnyMath .
-
-
单击"开始"按钮。
如果块 EDM-Target-Artery 未添加到模型中,启动时会出现错误: ErrorException("EDM-Target-Artery block not found. 要在目标硬件模式下启动模型,模型必须包含EDM-Target-Artery块。")
互动模式
交互模式使用带有DMA的USART与 AnyMath .
模型执行调度程序(定时器)它是自动配置的。 AnyMath 自己预留一个免费计时器,计算时间限制和周期,并添加一个呼叫 model_tick() -不需要在*AT32工作台*手动定时器设置。
-
在*AT32工作台*中,选择免费的USART模块(USART1-USART6或UART4-UART8)。 打开它:

-
配置USART设置: 模式* —
异步; 波特率* —115200位/秒; 字长* —8位; 停止位* —1; *平价 —无.
-
为选定的USART启用*DMA*:
转到*DMA*选项卡。
*单击*添加*并添加*DMA请求 — USARTx_RX,在哪里 x -保留的USART模块的编号。
*在*优先级*字段中,指定 高. 在*DMA请求设置*中,将*模式*设置为 通告.
+

添加第二个*DMA请求 — USARTx_TX. 在*优先级*字段中,指定 高. 在*DMA请求设置*中,将*模式*设置为 正常.
+

-
再次生成项目(生成代码)。
-
在块参数 EDM-Target-Artery 指定: 保留的USART模块*-USART编号(例如,
1对于USART1); COM端口*是设备端口。
COM端口示例:
*Linux — /开发/ttyACM0;
*窗户 — COM1.
检查可用端口:
*Linux: ls/dev/grep ttyACM;
*窗户:打开 «设备管理器» → «端口(COM和LPT)» -端口号在设备名称中指定(例如, COM3).
解决可能出现的问题
Tulchain检测的问题
如果出现错误,指出尚未找到编译器或程序员:
在块参数中手动指定路径 *EDM-Target-Artery 而不是 汽车.
*通过变量检查实用程序是否可用 路径.
*确保安装了AT32IDE(包含 arm-none-eabi-gcc 和 ATLink_Console。exe文件).
固件问题
*检查编程器的连接(AT-Link或兼容)。
*确保微控制器已通电且处于调试模式。
*检查OpenOCD的配置文件 接口/atlink。[医]cfg 和 目标/at32f435xx.cfg.