MacOS 下使用 Clion 对 AT32 单片机进行开发
偶然翻出吃灰的 AT32
板子,通过编译雅特力开源的 OpenOCD
解决了 MacOS
下烧录问题,并借助 Clion
进行开发。整个过程包括源码克隆、依赖安装、生成 configure
、配置编译环境、编译安装及调试配置,最终实现 AT32
固件烧录和验证。
需求
偶然间翻出一块吃灰的 AT32
板子,突发奇想的想点个灯,于是有了下文。

查阅资料发现 OpenOCD
并不支持 AT32
系列的烧录,在雅特力的官网也只有 Linux
和 Windoes
版本的 OpenOCD
,没有 MacOS
对应的版本。为什么要用MacOS
做嵌入式开发
偶然间,在网上冲浪时候在这个帖子看到雅特力开源了支持 AT32
的 OpenOCD

既然有源码,那就好办,自己编译一个能在 MacOS
下使用 OpenOCD
,开整。
编译 OpenOCD
git clone
首先把源码 clone
到本地。
1 | git clone https://github.com/ArteryTek/openocd.git |


编译前准备
根据 OpenOCD
的编译指南,用 brew
命令安装相应的依赖
1 | brew install make pkg-config texinfo automake autoconf libtool pkg-config libusb hidapi libftdi capstone |
生成 configure
接着进入 git clone
下来的 OpenOCD
目录下执行以下指令。
1 | ./bootstrap |

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

如果 ./configure
失败,看看错误信息,可能是缺少某些依赖。
编译
如果没什么特殊情况,这里编译应该是顺利进行。
1 | make -j$(sysctl -n hw.logicalcpu) |

安装
1 | sudo make install |

检测
1 | which 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
的。
1 | source [find interface/jlink.cfg] |
编译工程

烧录

效果

附加
AT32 Work Bench
既然能烧录了,但没有 AT32 Work Bench
怎么能彳亍呢。AT32 Work Bench
也没提供 MacOS
板本的。怎么可能会有人用 MacOS
进行嵌入式开发呢
解决办法
使用 wine
运行 AT32 Work Bench
1 | brew install wine |
测试运行是没什么问题,但生成的代码可能就有问题,并未进行验证。

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