【嵌入式开发】Linux下搭建AT32开发环境
重庆黄桷树生活帮
编辑于 2025年06月09日 14:11
嵌入式开发

AT32是STM32的一种国产替代,被应用于无人机国产飞控中

硬件方面,参照立创开源

https://oshwhub.com/sheep_finder/guo-chan-fei-kong

本教程在Linux系统下,使用CMake构建项目,OpenOCD烧录程序,搭建AT32开发环境

使用的Linux发行版:Ubuntu

使用的芯片型号:AT32F435VMT7

0. 安装cmake和git

在正式开始之前,需要确保已经安装了git和cmake

sudo apt install git cmake

已经安装过的可以忽略

1. 从AT32官网下载开发工具

打开官网并进入所用芯片型号的页面,本教程以AT32F435为例

打开

https://www.arterytek.com/cn/product/AT32F435.jsp

往下拉找到资源下载的地方

下载BSP固件库

https://www.arterytek.com/file/download/2210

下载AT32修改版的OpenOCD

https://www.arterytek.com/file/download/2611

将固件库和OpenOCD解压到电脑中任意位置

给openocd可执行文件添加执行权限

chmod +x ${OPENOCD_PATH}/bin/openocd

${OPENOCD_PATH}指刚刚解压出的openocd的根目录

2. 下载ARM工具链

打开ARM官网:

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

下载 x86_64 Linux hosted cross toolchains 这一栏下的

arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz

要注意文件名中间是x86_64和arm-none-eabi

其中的13.3是版本号,可能根据现有的版本有所不同

下载完毕后将压缩包的内容解压

也可以直接用apt安装

sudo apt install gcc-arm-none-eabi

相比于官网,apt安装的版本会旧一些

3. 下载AT32CMake模版项目

用git将AT32CMake模版项目clone到本地

git clone https://github.com/fallenworld/AT32CMakeTemplate.git

打开项目下的CMakeLists.txt,将以下的变量修改为如下内容

set(FIRMWARE_PATH AT32固件库路径)

set(TOOLCHAIN_PATH ARM工具路径)

set(LINKER_SCRIPT 链接文件)

set(STARTUP_CODE 启动代码文件)

set(DEVICE_DEFINE 芯片型号定义)

set(OPENOCD_PATH OpenOCD路径)

链接文件(.ld)和启动代码文件(.s)均可以在固件库中找到

模版项目中使用的是AT32F435VMT7,使用其他型号,需根据情况修改CMakeLists.txt

打开项目下的at32.cfg,这里是OpenOCD用到的配置脚本

根据自己的下载器和芯片型号,设置好下载器和芯片对应的配置脚本

下载器和芯片的配置脚本位于${OPENOCD_PATH}/scripts下的interface和target下

4. 编译项目

将模板项目复制一份,相当于是新建了一个项目

打开复制好的项目的CMakeLists.txt,将project()下的AT32Template改为自己想要的项目名字

然后在想要放置编译结果的地方,执行

cmake 项目路径

make

等待一会儿,即可编译成功,生成elf、hex、bin文件

编译成功后,将烧录器连接开发板,然后插到电脑USB口上,接着执行

make flash-hex

即可将刚刚编译好的hex文件烧录至芯片中

5. 设置CLion(可选)

为了方便开发,我们可以用Clion这个IDE来编辑+构建+调试AT32项目

同样的思路也适用其他的IDE,如VSCode

打开项目

进入CLion → 打开,选择项目路径

在弹出的窗口中,将 <构建目录> 设置为希望进行编译的目录

用Clion编译出的二进制文件,会位于这个构建目录

如果之前用命令编译过,设置之前需要清空编译的目录

设置OpenOCD

设置 → 构建、执行、部署 → 嵌入式开发

将 <OpenOCD位置> 修改为第1步中的openocd可执行文件的位置

设置构建选项

菜单栏的运行 → 编辑配置 → 左上角+号 → OpenOCD下载并运行

将 <目标> 选择为flash-hex

将 <可执行的二进制文件> 选择为elf文件

将 <面板配置文件> 设置为项目根目录下的at32.cfg

构建和调试

点击上方的运行/调试配置图标,修改为有绿色芯片图标的flash-hex

在代码中打断点,点击上放的虫子图标进行调试

Clion会调用CMake编译项目,并用OpenOCD将hex文件烧写至AT32

可以看到包括断点在内的所有图形化调试功能可以正常使用

一切大功告成,可以开始写代码了!