【MCU】【AT32】AT32IDE的初步使用
一、简介
基本信息
- 开发基础:基于 Eclipse 框架,是一个跨平台 ARM 嵌入式系统的软件开发环境,集成了一系列 Eclipse 插件和工具。
- 操作系统兼容性:支持 Windows 和 Linux 操作系统,其中 Linux 发行版本支持 Ubuntu 18.4 及以上、Fedora 34 及以上、Centos 7 及以上等 。在 Windows 系统中可直接运行安装程序,在 Linux 系统中按照特定步骤解压安装包即可完成安装,如在 Ubuntu 20.4 上,可先创建目录,再通过
tar命令解压安装包到指定目录。 - 自带资源:安装包包含 JRE 运行环境、ARM 工具链(如 GNU ARM 工具链,含 ARM 的 GCC 编译程序)和 GCC Make 构建工具 ,帮助开发者便捷组织资源、装备软件组件。
主要功能
- 项目创建:通过雅特力项目向导,为不同的雅特力目标 MCU 提供创建模板项目。以创建基于 AT32F403AVGT7 的项目为例,在菜单栏选择【File】>【New】>【C Project】,输入项目名称,选择项目类型(如 AT32F403A_407 C Project )和默认工具链(Arm Cross GCC),再按需配置目标芯片、调试等选项,即可完成项目创建 。
- 项目构建:使用 GNU ARM 工具链来构建项目。构建时,右键单击项目,选择 “Build Project”,或者选中项目后点击菜单栏的 “Build Project”,即可生成 elf 文件,构建日志会在控制台打印。若需重新配置构建选项,可选择菜单【Project】>【Properties】或右键项目选择【Properties】,在 C/C++ Build>Settings 中更改配置,应用设置后重新构建项目 。
- 项目调试:以 GDB 作为调试工具,支持暂停、单步、运行和监视目标芯片,能存取内存及闪存,还支持设置硬件断点及检测点,也可以抹除目标芯片和编程用户配置。调试前,选择菜单【Run】>【Debug Configurations…】打开调试配置对话框,双击 GDB AT-Link Debugging 自动创建 AT-Link 调试配置,大部分配置信息会自动生成,一般无需修改。在调试透视图,可查看变量值、表达式值、外围寄存器等 。
二、工程建立
1.工程配置
填写工程名,选择对应芯片

2.选择裸机开发,外部时钟,无跟踪打印输出等

3.自定义工程目录

1. 通用作用
界面标题 “Folders settings” + 说明文字 “Define the project folders and other options.” ,功能是让开发者指定项目中不同类别文件的存储路径,方便工程文件分类管理、工具链 / 编译器识别依赖,让代码编译、链接流程更清晰。
2. 逐行解析参数
-
Include folder- 用途:存放头文件(.h) ,比如芯片寄存器定义、函数声明、宏定义等。
- 示例:
include目录里可能有at32f403a.h(芯片外设寄存器头文件 )、project_config.h(项目全局配置 ),代码里#include "xxx.h"会从这里找文件。
-
Libraries folder- 用途:存放库文件(.a、.lib 等二进制库,或 .c/.cpp 源码形式的库 ) ,一般是通用算法、第三方功能封装(如加密库、数学库 )。
- 示例:
libraries里可能有math_lib文件夹,包含数学运算函数的源码 / 编译好的库,工程编译时会链接这些代码实现功能。
-
BSP folder- 含义:BSP = Board Support Package(板级支持包 )。
- 用途:存放与硬件板卡强相关的代码,比如特定开发板的引脚初始化(
bsp_gpio.c)、硬件外设适配(显示屏、按键驱动 )。 - 作用:隔离硬件差异,换开发板时只需替换 / 修改 BSP 目录,上层逻辑(如应用代码 )可复用。
-
CMSIS library folder- 含义:CMSIS = Cortex Microcontroller Software Interface Standard(ARM Cortex 内核 MCU 软件接口标准 )。
- 用途:存放 CMSIS 标准相关文件,包含:
- 内核寄存器定义(如
core_cm4.h,针对 Cortex-M4 内核 ); - 内核外设驱动(如 SysTick 定时器、NVIC 中断控制器初始化 );
- 部分通用 API(如
__disable_irq()关中断函数 )。
- 内核寄存器定义(如
- 作用:让代码适配 ARM 内核规范,不同厂商(如雅特力、ST、NXP )的 Cortex-M 系列 MCU,CMSIS 层可通用,降低移植成本。
-
Firmware folder- 用途:存放芯片厂商提供的固件库 / 驱动源码,比如 AT32 官方的外设驱动(GPIO、UART、SPI 等初始化函数 )。
- 示例:
firmware里可能有at32f403a_gpio.c(GPIO 外设驱动 )、at32f403a_uart.c(串口驱动 ),包含寄存器操作的底层代码,开发者可直接调用这些驱动函数控制硬件。
-
User folder- 用途:存放用户自定义代码,比如主函数(
main.c)、应用逻辑(app_task.c)、业务功能实现(如传感器数据处理、协议解析 )。 - 作用:区分开官方 / 通用代码(如 CMSIS、Firmware )和开发者写的业务代码,工程结构更清晰,方便维护。
- 用途:存放用户自定义代码,比如主函数(
实际开发价值
这样的目录划分是嵌入式工程 **“模块化管理”** 的体现:
- 工具链(如 GCC 编译时 )能通过这些路径找到头文件、库文件,确保
#include不报错、链接不缺文件; - 多人协作 / 后续维护时,一眼能区分 “官方驱动”“用户代码”“硬件适配代码”,降低理解成本;
- 移植项目到新芯片 / 新开发板时,只需替换 CMSIS、BSP、Firmware 等目录,用户代码大概率复用,效率更高。
4.工具链选择
5.添加DEBUG配置


选择烧写方式

注:
AT32IDE内无法使用ST-Link下载程序(如果有读者知道AT32IDE如何配置ST-Link可以在评论区发出来),需要使用AT-Link。

浙公网安备 33010602011771号