偶然翻出吃灰的 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
测试运行是没什么问题,但生成的代码可能就有问题,并未进行验证。

689

被折叠的 条评论
为什么被折叠?



