[AT32 WorkBench] AT32 WorkBench使用指南

[复制链接]
46|0
Enthusiast 发表于 2026-6-3 09:13 | 显示全部楼层 |阅读模式
本帖最后由 Enthusiast 于 2026-6-2 19:00 编辑

AT32 Work Bench使用指南
主要介绍 AT32 Work Bench 使用。AT32 Work Bench 通过对 MCU 的图形化配置,生成初始化 C 代码和对应 IDE 项目,以减少开发人员的工作量、时间和成本。
AT32 Work Bench 有以下主要特点:
1. 支持外设初始化配置
2. 支持 PIN MUX 配置,并可自定义 PIN 脚标签
3. 支持系统时钟自动化配置
4. 支持在线代码预览,所见即所得
5. 支持 add user code 功能(客户已有代码不会被新生成工程覆盖)
6. 支持 Keil、IAR、AT32 IDE 等常见 IDE 工程自动生成
7. 支持最近编辑的设计记录8. 支持配置 PDF 报告的生成
9. 支持中英文切换
10. 支持 Windows、Linux 等多平台
11. 支持 FREERTOS、USB_DEVICE、USB_HOST 等中间件
12. 支持软件的在线升级
1 引言
1.1 环境要求
· 软件要求
Windows 系统: 需要 Windows 7 及以上操作系统支持。
Linux 系统:支持 x86_64 架构的 Ubuntu、Fedora 等发行版。
·  硬件要求
建议内存最低 2GB。
建议硬盘最低 4GB。
2 安装
2.1 Windows 系统安装
本软件不需要安装,只需直接运行可执行程序 AT32_Work_Bench.exe。
2.2 Linux 系统安装
本软件目前支持 Ubuntu 16.4 以上系统版本。
Linux 系统安装可以有两种方式:终端中使用 dpkg 命令安装和图形方式安装。
· 终端中使用 dpkg 命令安装
在终端中输入如下命令进行安装:sudo dpkg –i AT32_Work_Bench_Linux-x86_64_Vx.x.xx.deb
如下图所示
图 1. 终端命令安装
218526a1eb3135dda1.png
· 图形方式安装
拷贝 AT32_Work_Bench_Linux-x86_64_Vx.x.xx.deb 到 Linux 系统中,并双击。在弹出的安装程序中,点击“安装”按钮,系统将本软件自动安装到系统中。
图 2. 图形方式安装
649526a1eb32f66a24.png
安装完成之后,点击左边任务栏最下方“显示所有程序”按钮,在弹出的程序列表中找到“AT32_Work_Bench”,并点击,将启动 AT32_Work_Bench。
3 引导页
引导页是启动 AT32 Work Bench 时打开的第一个窗口。它提供三个选项:“开始一个新的设计”、“打开一个已有的设计”和“最近使用的设计”。
· 开始一个新的设计
选择 MCU 产品线、MCU 系列、MCU 型号;然后点击“新建”或者双击列表中 MCU 型号,将创建一个新的项目;
· 打开一个已有的设计
可以通过资源管理器找到一个已经保存的项目,并打开该项目(*.ATWP 文件);
· 最近使用的设计
展示了最近创建的项目列表,可选择一个项目打开。
图 3. 引导页
903206a1eb34fee60e.png
4 项目配置
创建新项目后,或者已经加载了之前保存的项目后,将打开项目配置页面。项目配置页面包含菜单栏、工具栏与以下一组视图:
· Pin 布局和配置
· 时钟配置
· 代码预览
图 4. 项目配置
490756a1eb3668d1a8.png
在“Pin 布局和配置”中,可以对外设使用的引脚和参数进行配置。
在“时钟配置”中,可以对 MCU 时钟进行配置。
在“代码预览”中,可以预览根据当前配置自动生成的代码。
点击菜单栏的生成代码功能或者工具栏的下载图标,可以生成与当前配置相对应的用户代码和项目。
4.1 菜单栏与工具栏
菜单栏与工具栏内容如图所示:
图 5. 菜单与工具栏
270796a1eb38d2e578.png
4.1.1 菜单栏
· “文件”菜单:
新建设计: 新建一个项目。
打开设计: 打开已存在的项目。
保存设计: 保存当前项目。
设计另存为: 将当前项目另存为。
生成报告: 生成当前项目 pdf 格式报告。
生成引脚配置 Excel: 将引脚配置导出到 Excel 文件。
最近的设计: 展示最近编辑的项目。
·  “固件包管理”菜单:
固件包管理: 安装和管理支持的固件包(BSP)。
·  “生成代码”菜单:
当在对应型号的操作配置界面将所期望的外设参数与时钟配置完成之后,可点击“生成代码”菜单来选择项目的存储路径并生成相应的项目文件。
·  “帮助”菜单:
打开手册: 将打开软件的使用手册。
新版本下载: 联网进行新版本下载。
文档及资源: 打开当前 MCU 的文档及资源网页。
使用教程: 打开 Work Bench 使用教程网页。
版本: 查看当前版本。
4.1.2 工具栏
353726a1eb3b3aca3f.png :选择 English 作为显示语言。
857186a1eb3bd3d7d0.png :选择简体中文作为显示语言。
478816a1eb3d3de895.png :所有配置重置,将会对所有外设配置的参数、引脚、时钟配置等进行重置。
682776a1eb3e1a0bd3.png :生成代码,将打开“项目管理”窗口,然后产生代码。具体参照节 4.5。
886116a1eb3eea57ac.png :访问雅特力官网。
598926a1eb4087f8db.png :显示当前正在进行配置的 MCU 型号。
4.2 Pin 布局和配置
“Pin 布局和配置”视图主要配置 MCU 外设使用的引脚及参数。
该视图包含有“外设”、“模式和配置”与“Pin 布局”三个窗口。每个窗口的大小可以随意调整:将鼠标悬停到窗口边框上会显示一个双向箭头,按住鼠标左键并左右移动来扩展或缩小窗口区域大小。
4.2.1 外设
“外设”窗口展示了所选 MCU 型号支持的外设和中间件列表。外设名称前面的图标显示了当前外设的配置状态。
表 1. 外设状态
983846a1eb41ed9850.png

4.2.2 模式和配置
从“外设”列表中选择一个外设时,将打开所选外设的“模式和配置”窗口,用户可以借此配置其功能模式与参数。模式窗口可选择外设的工作模式和工作模式下使用的 MCU 引脚。由于 MCU 允许不同外设和多个功能使用相同的引脚,因此选择模式后,会自动配置最适合用户选择的外设的引脚排列。
图 6. 外设的模式和配置
833846a1eb43f0a3fe.png

以外设“USART1”为例进行说明:
· 外设模式
图 7. 外设模式
300016a1eb45580cb0.png

如上图所示,外设“USART1”的模式选择“异步模式”时,引脚布局的视图中,PA9 与 PA10 将自动映射到信号“USART1_TX”与“USART1_RX”;硬件流控制选择“同时 CTS/RTS”,PA11 与 PA12 将自动映射到功能“USART1_CTS”与“USART1_RTS”。
模式在条件不满足或者信号冲突的情况,将以不同的颜色或背景色进行显示,如表 2 所示。鼠标移动到该控件时,会弹出提示信息,用户可根据提示信息进行修改或重新配置,如下图所示。
图 8. 模式错误提示
535756a1eb471b76b1.png

模式与参数状态举例说明如下:
表 2. 模式与参数显示状态
212366a1eb48540d62.png

· 外设参数设置
图 9. 外设参数设置
491726a1eb49d5568a.png

参数配置窗口显示了“USART1”可以配置的参数,如基础参数中的“波特率”、“数据位个数”等,高级参数中的“数据传输方向”、“收发管脚交换”等参数。
配置参数的时候,如果检测到无效设置,将会根据数据范围自动进行优化。如果用户设定的值分别小于/大于最小/最大值,则重置为最小/最大有效值。
· 外设 GPIO 设置
图 10. 外设 GPIO 设置
136a1eb4b77de51.png

外设 GPIO 设置窗口显示了当前外设可以配置的 GPIO,如上图可配置“USART1”中“USART1_TX”和“USART1_RX”的 GPIO 参数。
“GPIO 参数”的具体配置说明可以参照节 4.2.4。
· 外设中断设置
图 11. 外设中断设置
946a1eb4c70ae01.png

外设中断设置窗口显示了当前外设可以配置的中断,如上图可配置“USART1”的所有中断。
· 外设 DMA 设置
图 12. 外设 DMA 设置
890836a1eb54e51b76.png

外设 DMA 设置窗口可添加当前外设可以配置的 DMA 请求,如上图可配置“USART1”中“USART1_TX”和“USART1_RX”的对应的 DMA 通道以及 DMA 请求的参数。
“DMA 请求参数”的具体配置说明可以参照节 4.2.5。
· 外设 NVIC 设置
图 13. 外设 NVIC 设置
9036a1eb55e87455.png

外设 NVIC 设置窗口显示了当前外设可以配置的 NVIC,当外设对应的 DMA 通道开启后,也可配置对应 DMA 通道的 NVIC,如上图可配置“USART1”中“USART1_IRQ”和“DMA1_Channel3_2_IRQ”。
“抢占优先级”和“子优先级”的配置需到“NVIC”总配置窗口进行统一配置,参照节 4.2.6。
4.2.3 Pin 布局
以图形方式表示所选封装的引脚布局(例如,LQFP48、QFN32、TSSOP20 等),其中每个引脚都用其名称(如 PA9)、配置状态和当前信号分配来表示。
图 14. PIN 布局
488296a1eb572735bb.png

引脚根据不同的状态显示不同的颜色与功能信息,如表 3 所示。
表 3. 引脚状态显示
500996a1eb5862042d.png

Pin 布局窗口支持 Ctrl + 鼠标滚轮放大和缩小 MCU 引脚视图,并支持鼠标拖拽调整位置。点击图示芯片内部区域,可显示或隐藏引脚号。
通过图形下方的工具栏,引脚布局的图形视图可以进行放大和缩小,便于用户查看全局配置或局部的详细信息。也可以点击重置按钮,将引脚布局图形重置为初始大小。搜索框中选择引脚、信号、标签,按回车键,将搜索到的引脚以蓝色闪烁显示。
209476a1eb5a46897c.png :放大引脚视图。
778356a1eb5b2306b1.png :引脚视图恢复初始大小和位置。
547516a1eb5d918929.png :缩小引脚视图。
864756a1eb5ea781a4.png :查询引脚、信号、标签在引脚视图中的位置。
203856a1eb5f57d5a8.png :顺时针旋转视图。
367056a1eb604c1e16.png :逆时针旋转视图。
同时支持 Ctrl + 点击信号,查找信号所在的引脚。
在引脚视图上,左键点击引脚(除固定模式引脚),将弹出一个右键菜单,显示该引脚可配置的信号。当选择“Reset_State”,将重置该引脚为未使用状态。如下图所示。
图 15. 引脚配置菜单
791256a1eb614f3267.png

对于已经配置功能的引脚,右键单击将弹出“输入标签”的按钮,可以点击按钮,可以指定此信号的自定义标签。新标签将替换引脚视图中的设置的信号名称。
图 16. 自定义标签
9176a1eb62c803d6.png

4.2.4 GPIO 配置
单击“外设”窗体中的 GPIO,可以打开 GPIO 配置窗口,该窗口可用于配置 GPIO 的参数。
GPIO 配置也可以在外设实例配置窗口中的专用窗口访问特定外设实例的 GPIO 设置。
下拉框中可以选择显示的方式,可以显示所有或者按外设分组显示。“配置重置”按钮将重置所有已修改的 GPIO 参数。
图 17. GPIO 配置
926586a1eb6404abaf.png

双击可修改每个信号 GPIO 的参数,GPIO 可配置参数如下:
· Pin 名称
信号所在的引脚名称。如果多个引脚有同一个信号,且引脚未被使用时,可双击切换信号到此引脚。(AT32F403A/F407/A403A/F413/F415 不支持此功能)
· 输出电平
当信号为“GPIO_Output”时,可配置“输出低电平”或“输出高电平”。
· GPIO 类型
用于配置 GPIO 的类型(推挽、开漏)。
· 上/下拉类型
被设置为一个默认值,可以在其他选择可用时进行配置。
· GPIO 模式(模拟、输入、输出、复用功能)
在引脚布局视图中选择外设模式会自动以相关的复用功能和 GPIO 模式配置引脚。
· 驱动能力
用于配置相应的 I/O 端口电流的能力(适中电流推动/吸入能力、较大电流推动/吸入能力);
· 标签
将默认名称更改为用户自定义的标签名称。引脚布局视图相应地更新。
4.2.5 DMA 配置
单击“外设”窗体中的 DMA,可以打开 DMA 配置窗口,该窗口用户配置 MCU 上可用的通用 DMA控制器。DMA 接口允许在 CPU 运行时在内存和外设之间执行数据传输,以及内存到内存传输。部分外设拥有自己的 DMA 控制器,默认情况下可以在外设配置窗口进行配置。
在 DMA 配置窗口中点击“添加”,在 DMA 配置窗口的最后一行添加一个新行,组合框中列出了可选的 DMA 请求名称。
图 18. DMA 配置
76846a1eb669cba29.png

DMA 请求用于保留一个数据流,以便在外设与内存之间传输数据。流的优先级用于决定下一个 DMA传输选哪个流。
可以通过 DMA 配置窗口完成对 DMA 的配置:
· 传输方向
分为内存到外设、外设到内存与内存到内存。
· 优先级
通道优先级分为 4 个等级,“最高优先级”、“高优先级”、“中等优先级”和“低优先级”。 若有 2 个通道优先级设定相同,则较低编号的通道有较高的优先权。举例,通道 1 优先于通道 2。
· 模式
包括普通模式、循环模式和外设流控制模式。
· 外设地址递增
配置使能外设地址增量类型。启用后,外设地址在每次传输后都会递增。
· 内存地址递增
配置使能内存地址增量类型。启用后,内存地址在每次传输后都会递增。
· 外设数据宽度
配置外设数据宽度。“字节”宽度为 8 位;“半字”宽度为 16 位;“字”宽度为 32 位。
· 内存数据宽度
配置内存数据宽度。“字节”宽度为 8 位;“半字”宽度为 16 位;“字”宽度为 32 位。
4.2.6 NVIC 配置
单击“外设”窗体中的 NVIC,可以打开 NVIC 配置窗口。
可以根据右上角的下拉框中的显示方式筛选显示的内容,包括显示所有的中断、有效的中断和已开启的中断。
图 19. NVIC 配置
924546a1eb6a49aa67.png

表格中,中断名称为灰色的表示中断不可配置,需要开启对应的外设模式;使能状态为开启,并不可修改的为系统中断,这些中断不能禁用。
NVIC 配置包括选择优先级组、使能中断和配置中断优先级(抢占优先级和子优先级):
1、选择一个优先级组
优先级组有多个位,可用于定义 NVIC 优先级。这些位被分为两个优先级组,对应两种优先级类型:抢占优先级和子优先级。优先级的位表示可以配置的优先级个数,如 0 位表示只能配置一个优先级 0,4 表示可以配置 16 个优先级(0-15)。
2、在中断表中,单击选择一个中断向量,在表格中进行配置:
  - 使能:选中/取消选中可以启用/禁用中断。
  - 抢占优先级:选择一个优先级。抢占优先级定义一个中断中断另一个中断的能力。
  - 子优先级:选择一个优先级。子优先级定义中断优先级。
外设专用中断也可以通过“外设模式和配置”窗口中的 NVIC 设置进行配置。
4.3 时钟配置
时钟配置界面主要用来进行时钟路径及参数的配置。视图中的下拉菜单和输入框可用于修改实际的时钟树配置,以满足应用需求。
整个配置界面主要可以分为四个大块,如下图所示。
图 20. 时钟配置
790316a1eb6bde42e4.png

1. 配置部分:用于对时钟路径和时钟参数进行选择和配置,以达到期望的应用需求。
2. 输出部分:用于时钟输出(CLKOUT)的配置。
3. 在 SCLK 栏也可在选中 PLL 为系统时钟时作为输入框,可输入期望的系统时钟频率来反向自动配置出倍频参数。
4. 结果部分:用于显示当前外设所使用的时钟频率及总线上的外设。
时钟配置窗口支持 Ctrl + 鼠标滚轮放大和缩小 MCU 时钟配置视图。
时钟配置窗口工具栏功能如下:
959316a1eb6dc8984e.png :放大时钟配置视图。
755556a1eb6e8f3fdf.png :时钟配置视图恢复初始大小和位置。
819116a1eb6f61335a.png :缩小时钟配置视图。
96666a1eb7023a5df.png :所有时钟配置重置。
注 1:需要使 lext 为可用状态,需要在外设“CRM” 的模式窗口中设置“低速外部时钟”的模式;
注 2:需要使 hext 为可用状态,需要在外设“CRM” 的模式窗口中设置“高速外部时钟”的模式;
注 3:需要使 clockout 为可用状态,需要在外设“CRM”的模式窗口中勾选“时钟输出”。
4.4 代码预览
点击“代码预览”按钮,将自动生成当前配置的代码,并在窗口中显示代码内容。左侧显示了生成的代码文件,右侧显示选中文件的代码内容,例如:
- main.c:主源文件,主要对各外设初始化函数进行调用。
- AT32xxxx_wk_config.h:外设配置头文件,主要对各外设初始化函数进行声明。
- AT32xxxx_wk_config.c:外设配置源文件,主要对各外设初始化函数进行定义。
- AT32xxxx_int.h:中断函数头文件。
- AT32xxxx_int.c:中断函数源文件。
- AT32xxxx_conf.h:库配置头文件。
可以实时查看当前配置生成的代码。
图 21. 代码预览
855836a1eb72655462.png

代码显示窗口,支持 Ctrl + 鼠标滚轮放大和缩小功能,同时支持右键菜单,右键菜单功能如下:
- 折叠全部:将代码折叠,方便查看代码结构。
- 展开全部:将所有折叠的代码展开。
- 拷贝:拷贝选择的代码。
- 全选:选择代码全部内容。
- 查找:可在预览的代码中查找关键字。
- 编码:用于切换显示代码时的编码格式。
- 主题:用于切换亮色主题和暗色主题。
4.5 生成代码
点击菜单栏或工具栏的“生成代码”按钮,将弹出“生成代码”窗口。
4.5.1 项目管理
项目管理中配置项目生成时所需要参数,具体配置选项和操作如下:
· 项目设置
  - 项目名称:用于创建项目的名称。
  - 项目位置:项目文件夹的存储目录。
  - 工具链/IDE:生成选定工具链/IDE 类型的工程项目。
  - 重新生成代码时备份先前的文件:在重新生成代码时,备份原有源文件中的.c/.h 文件。
  - 重新生成代码时保留用户代码:参照节 4.5.2。
  - 所有未使用引脚设为模拟:生成的代码中将未使用引脚 GPIO 设置为模拟,以节省功耗。
  - 外设初始化生成单独的“.c/.h”文件:生成代码时,将外设初始化代码配置到单独的“.c/.h”文件中。以 USART 为例,将单独生成“usart.c”和“usart.h”。
  - 删除未重新生成的已生成文件:将删除当前配置未使用的所有历史已生成的文件。
  - 添加所有的固件库文件到项目:将所有的固件库文件添加到项目文件中。
  - 只添加当前必须的固件库文件到项目:将当前使用的外设的固件库文件添加到项目文件中。
· 链接设置
  - 堆最小值和栈最小值:为应用分配的最小堆和栈的值。对于堆大小和栈大小,建议的默认值分别为 0x200 和 0x400。当应用使用中间件栈时,这些值可能需要增加。
· MCU 固件包
  - 复制库文件到项目文件夹:选中后,生成代码时将固件包内的库文件自动复制到项目文件夹中。
  - 固件包版本:选择已安装的固件包版本。如果未安装固件包,请点击“固件包管理”进行安装。
  - 固件包管理:安装与管理软件支持的固件包。参照节 4.6。
  - 固件包位置:显示已选择的固件包所在位置。
配置完项目选项后,点击“确定”按钮。将自动生成用户代码和选定 IDE 的项目文件。生成的项目文件结构如下图:
文件目录中包含了从固件包中复制的库文件 libraries 与中间件文件夹 middlewares,以及生成的项目文件夹 project。Projects 文件夹中包含生成的头文件夹 inc,源代码文件夹 src 和项目类型文件夹 MDK_V5(根据所选中的工具链/IDE 生成),MDK_V5 中为 MDK 具体的项目文件,可以使用 Keil 开发环境打开该项目。
4.5.2 高级设置
· 函数调用设置
此功能为调整 main 函数中外设以及中间件初始化函数的调用顺序以及控制是否调用此初始化函数。
- 重置:重置调用顺序,恢复默认的调用顺序。
- 上移:函数调用顺序上移。
- 下移:函数调用顺序下移。
- 不生成函数调用:mian 函数中不调用此函数。
4.5.3 重新生成代码时保留用户代码
AT32 Work Bench 生成的 C 代码提供用户添加自定义代码。用户自定义代码需插入到软件定义位置并可在下一次生成 C 代码时保留。定义的位置如下所示:
/* add user code begin …... */
/* add user code end ...... */
重新生成代码时,不会对软件定义位置的用户代码进行移动或重命名,将会保留软件定义位置的用户代码,用户创建的未在软件定义位置的代码将被忽略并丢弃。
注意:
1.不支持用户自定义 add user code 标签,仅能在软件定义的标签中添加自定义代码。
2.文件中代码注释不能写成与软件定义的 add user code 标签相同。以 main.c 中 main 函数为例,软件定义的可添加用户代码的位置如下黑体部分区域内:
  1. <div style="text-align: left;">int main(void)</div><div style="text-align: left;">{</div><div style="text-align: left;">/* add user code begin 1 */</div><div style="text-align: left;">/* add user code end 1 */</div><div style="text-align: left;">/* system clock config. */</div><div style="text-align: left;">wk_system_clock_config();</div><div style="text-align: left;">/* nvic config. */</div><div style="text-align: left;">wk_nvic_config();</div><div style="text-align: left;">/* add user code begin 2 */</div><div style="text-align: left;">/* add user code end 2 */</div><div style="text-align: left;">while(1)</div><div style="text-align: left;">{</div><div style="text-align: left;">/* add user code begin 3 */</div><div style="text-align: left;">/* add user code end 3 */</div><div style="text-align: left;">}</div><div style="text-align: left;">}</div>
4.6 软件包管理
点击菜单栏 “文件”-“软件包管理”,将弹出“软件包管理”窗口。
· 软件包安装位置
需选择与确定软件包的安装位置,软件每次启动将会在此位置扫描已安装的软件包。已安装的软件包在此安装位置以 WK_AT32xxx 目录存在,例如:WK_AT32F425。
注意:软件版本更新后,需重新选择固件包安装位置。
· 从本地安装
从本地已下载的软件包进行安装,需手动选择已下载的软件包(*.ZIP)。
· 从网络安装
自动从网络下载软件包并进行安装。
· 删除
需勾选已安装的软件包,并进行删除。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

24

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0