APM32芯得 EP.08 | 还在用 Keil?这篇手把手教你用 CLion 搭建 APM32 开发环境,体验真正的“优雅”!
本文详细介绍了如何使用 CLion 开发 APM32,并通过 CMake 构建工程,涉及环境搭建、工具链配置、工程导入、编译和调试的完整流程,为开发者提供了高效、优雅的嵌入式开发方法。
《APM32芯得》系列内容为用户使用APM32系列产品的经验总结,均转载自21ic论坛极海半导体专区,全文未作任何修改,未经原文作者授权禁止转载。
01 前言
APM32 官方 SDK 中提供了三种开发环境:Keil、IAR 和 Eclipse。不否认这三种环境的强大,但是在 AI 时代做嵌入式开发,用这三种环境就显得有点不够优雅了。本篇文章主要介绍怎么用Clion 开发 APM32,涉及 CMake、Makefile、OpenOCD 和PyOCD 的知识,供大家参考。
02 环境搭建
软件环境
- Windows 10/11
- Clion 2023.2.2
- MinGW-w64 8.1.0
- OpenOCD 0.12.0-rc1
- gcc-arm-none-eabi 10.3.1
- APM32_DAL_SDK_V1.0
硬件环境
- APM32F407IG Tiny 开发板
搭建 MinGW-w64 环境
安装 MinGW-w64
MinGW-W64全称为 Minimalist GNU for Windows,是一个在 Windows 平台上编译 32 位和64 位应用程序的工具集。MinGW-w64 是 MinGW 的一个分支,它支持 64 位 Windows 和 32 位 Windows。
MinGW-w64 支持在线安装和离线安装,这里建议大家使用离线安装方式,因为在线安装的速度太慢了。Windows 系统开发 Linux 应用选择 `x86_64-posix-seh`,Windows 系统开发 Windows 应用选择 `x86_64-win32-seh`。

我是用 Windows 系统开发Windows 应用,所以选择 `x86_64-win32-seh` 进行下载。从上面链接下载完成后,解压压缩包中的 mingw64 文件夹到自己喜欢的位置,这里解压到 `E:\ToolChain\`。

配置环境变量
将 `E:\ToolChain\mingw64\bin` 添加到环境变量 `Path` 中。

验证 MinGW-w64 是否安装成功
打开 CMD,输入 `gcc -v`,如果出现如下信息,则说明 MinGW-w64 安装成功。

搭建gcc-arm-none-eabi 环境
安装gcc-arm-none-eabi
gcc-arm-none-eabi是 ARM 官方提供的一款免费的编译器,支持多种操作系统,包括Windows、Linux 和 macOS。

从上面的链接下载压缩包后,同样解压到 `E:\ToolChain\`。

配置环境变量
将`E:\ToolChain\gcc-arm-none-eabi-10.3-2021.10\bin` 添加到环境变量 `Path` 中。

验证gcc-arm-none-eabi 是否安装成功
打开 CMD,输入`arm-none-eabi-gcc -v`,如果出现如下信息,则说明 gcc-arm-none-eabi 安装成功。

搭建 OpenOCD 环境
安装 OpenOCD
[OpenOCD](https://sourceforge.net/projects/openocd/files/openocd/0.12.0-rc1/)全称为 Open On-Chip Debugger,是一个开源的调试工具,支持多种调试器,包括 J-Link、ST-Link、CMSIS-DAP等。
从上面链接下载后,同样解压到 `E:\ToolChain\`。

因为 OpenOCD 官方还未支持APM32,所以需要增加对 APM32 的支持。将附件提供的`apm32f4x.cfg` 文件拷贝到`E:\ToolChain\OpenOCD\share\openocd\scripts\target` 目录下。

配置环境变量
将 `E:\ToolChain\OpenOCD\bin` 添加到环境变量 `Path` 中。

验证 OpenOCD 是否安装成功
打开 CMD,输入 `openocd -v`,如果出现如下信息,则说明 OpenOCD 安装成功。

03 配置 Clion
配置工具链
打开 Clion,点击 `File` -> `Settings` -> `Build, Execution, Deployment` -> `Toolchains`,点击 `+` 号,选择 `MinGW`,点击`OK`。将上述搭建的环境填入对应的位置,点击 `OK`。如下图所示:

> 注意:CMake 选择 Bundled,Debuggers 选择 Bundled GDB。
到 `CMake` 选项卡中确认`Toolchain` 选择的是 `MinGW`,如下图所示:

配置 OpenOCD
点击 `File` -> `Settings` -> `Build, Execution, Deployment` -> `Embedded Development` -> `OpenOCD Localtion` 设置为 `E:\ToolChain\OpenOCD\bin\openocd.exe`,如下图所示:

04 Clion 开发 APM32
导入工程
Clion 使用 CMake 构建工程,所以在 APM32 官方 SDK 中的工程需要加入 CMakeLists.txt 文件。
这里用到我另一篇帖子 [使用CMake构建APM32工程](https://bbs.21ic.com/icview-3357660-1-1.html)里面的工程,大家可以去下载。下载完成后,将工程导入或直接拖拽工程目录入 Clion,如下图所示:

工程导入后,Clion 会提示项目未配置。我们打开 `GPIO_Toggle` -> `Project` -> `CMake` 目录,然后在 `CMakeLists.txt` 文件右键选择 `Load CMake Project`,如下图所示:

等待配置完成即可,配置完成后,CMake 输出窗口会显示如下信息:

并在 `GPIO_Toggle` -> `Project` -> `CMake` 目录下生成 `cmake-build-debug` 目录及 `Makefile` 文件,如下图所示:

编译工程
点击 `Build` -> `Build Project` 进行工程的编译,编译完成后 Build 输出窗口会显示如下信息:

下载和调试
点击 `Run` -> `Edit Configurations`,点击 `+` 号,选择 `OpenOCD Download & Run`,如下图所示:

配置 `Target`、`Executable binary` 和 `Board config file`,点击 `OK`,如下图所示:

其中 `Board config file` 选择 `geehyLink.cfg`。文件内容如下:
adapter driver cmsis-dap
transport select swd
# 0x100000 = 1M Flash Size
set FLASH_SIZE 0x100000
source [find target/apm32f4x.cfg]
# download speed = 10MHz
adapter speed 10000
点击 `Run` -> `Debug`,开始下载和调试,如下图所示:

查看外设寄存器
在 `Debug` 窗口中`Peripheral` 加载官方提供的 `svd` 文件,即可查看外设寄存器信息。

查看 Memory 信息
在 `Debug` 窗口中`Memory View` 查看内存信息。

观察变量
在 `Debug` 窗口中`Variables` 观察变量。

AI 代码提示
Clion 带有插件系统,可以安装插件,比如 Github Copilot,可以用 AI 技术帮助我们更快的编写代码。

代码补全
Clion 还有着很强大的代码补全功能。

还有更多功能等待大家去发现,这里就不一一介绍了。
到此,Clion 开发 APM32 的环境搭建和工程配置就完成了,大家可以参考着优雅的开发 APM32 了。
参考资料
https://openocd.org/pages/documentation.html
https://www.jetbrains.com/help/clion/viewing-inline-documentation.html
注:文章作者在原帖中提供了例程文件,有需要请至原文21ic论坛下载
原文地址:https://bbs.21ic.com/icview-3363676-1-1.html
更多推荐



所有评论(0)