MacOS 下使用 Clion 对 AT32 单片机进行开发

偶然翻出吃灰的 AT32 板子,通过编译雅特力开源的 OpenOCD 解决了 MacOS 下烧录问题,并借助 Clion 进行开发。整个过程包括源码克隆、依赖安装、生成 configure、配置编译环境、编译安装及调试配置,最终实现 AT32 固件烧录和验证。

需求

偶然间翻出一块吃灰的 AT32 板子,突发奇想的想点个灯,于是有了下文。

AT32F435CGT7

查阅资料发现 OpenOCD 并不支持 AT32 系列的烧录,在雅特力的官网也只有 LinuxWindoes 版本的 OpenOCD,没有 MacOS 对应的版本。为什么要用MacOS做嵌入式开发

偶然间,在网上冲浪时候在这个帖子看到雅特力开源了支持 AT32OpenOCD

AT32

既然有源码,那就好办,自己编译一个能在 MacOS 下使用 OpenOCD ,开整。

编译 OpenOCD

git clone

首先把源码 clone 到本地。

1
git clone https://github.com/ArteryTek/openocd.git

openocd
git clone

编译前准备

根据 OpenOCD 的编译指南,用 brew 命令安装相应的依赖

1
brew install make pkg-config texinfo automake autoconf libtool pkg-config libusb hidapi libftdi capstone

生成 configure

接着进入 git clone 下来的 OpenOCD 目录下执行以下指令。

1
./bootstrap

生成 configure

配置编译环境

1
./configure --disable-werror
配置编译环境

如果 ./configure 失败,看看错误信息,可能是缺少某些依赖。

编译

如果没什么特殊情况,这里编译应该是顺利进行。

1
make -j$(sysctl -n hw.logicalcpu)

编译 OpenOCD

安装

1
sudo make install
安装 OpenOCD

检测

1
2
3
which openocd
openocd --version
otool -L /usr/local/bin/openocd
检测 OpenOCD

使用 Clion 对 AT32 进行烧录

配置 OpenOCD

配置 OpenOCD

下载模版

点击前往下载 AT32 CLion CMakeList 模板
或者去 Github 下载 : https://github.com/tofu2333/clion_at32_project_template

下载解压后的文件如下

AT32 CLion CMakeList 模板

使用 Clion 打开 AT32 CLion CMakeList 模板

修改 CMakeList.txt

CMakeList 模板修改

修改 at32-daplink.cfg

只有 jlink ,所以把配置改成 jlink 的。

1
2
3
4
5
6
7
8
source [find interface/jlink.cfg]

transport select swd

source [find target/at32f435xx.cfg]

# download speed = 10MHz
adapter speed 10000

编译工程

编译工程

烧录

烧录固件

效果

效果

附加

AT32 Work Bench

既然能烧录了,但没有 AT32 Work Bench 怎么能彳亍呢。AT32 Work Bench 也没提供 MacOS 板本的。怎么可能会有人用 MacOS 进行嵌入式开发呢

解决办法

使用 wine 运行 AT32 Work Bench

1
brew install wine

测试运行是没什么问题,但生成的代码可能就有问题,并未进行验证。

AT32 Work Bench

参考资料

  • [AT32F415]在Linux系统下如何支持openocd调试AT32
  • OpenOCD User’s Guide
  • openocd README.macOS
  • openocd README
  • arterychip support
  • AT32 CLion CMakeList 模板
  • wine wiki