偶然翻出吃灰的 AT32
板子,通过编译雅特力开源的 OpenOCD
解决了 MacOS
下烧录问题,并借助 Clion
进行开发。整个过程包括源码克隆、依赖安装、生成 configure
、配置编译环境、编译安装及调试配置,最终实现 AT32
固件烧录和验证。
需求
偶然间翻出一块吃灰的 AT32
板子,突发奇想的想点个灯,于是有了下文。
查阅资料发现 OpenOCD
并不支持 AT32
系列的烧录,在雅特力的官网也只有 Linux
和 Windows
版本的 OpenOCD
,没有 MacOS
对应的版本。为什么要用MacOS
做嵌入式开发
偶然间,在网上冲浪时候在这个帖子看到雅特力开源了支持 AT32
的 OpenOCD
既然有源码,那就好办,自己编译一个能在 MacOS
下使用 OpenOCD
,开整。
编译 OpenOCD
git clone
首先把源码 clone
到本地。
git clone https://github.com/ArteryTek/openocd.git
编译前准备
根据 OpenOCD
的编译指南,用 brew
命令安装相应的依赖
brew install make pkg-config texinfo automake autoconf libtool pkg-config libusb hidapi libftdi capstone
生成 configure
接着进入 git clone
下来的 OpenOCD
目录下执行以下指令。
./bootstrap
配置编译环境
./configure --disable-werror
如果 ./configure
失败,看看错误信息,可能是缺少某些依赖。
编译
如果没什么特殊情况,这里编译应该是顺利进行。
make -j$(sysctl -n hw.logicalcpu)
安装
sudo make install
检测
which openocd
openocd --version
otool -L /usr/local/bin/openocd
使用 Clion 对 AT32 进行烧录
配置 OpenOCD
下载模版
点击前往下载 AT32 CLion CMakeList 模板
或者去 Github
下载 : https://github.com/tofu2333/clion_at32_project_template
下载解压后的文件如下
使用 Clion 打开 AT32 CLion CMakeList 模板
修改 CMakeList.txt
修改 at32-daplink.cfg
只有 jlink
,所以把配置改成 jlink
的。
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
brew install wine
测试运行是没什么问题,但生成的代码可能就有问题,并未进行验证。