发新帖本帖赏金 100.00元(功能说明)我要提问
返回列表
打印
[APM32F4]

用 Clion 开发 APM32

[复制链接]
3374|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 susutata 于 2024-3-4 10:06 编辑

#申请原创# @21小跑堂


用 Clion 开发 APM32



# 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](https://sourceforge.net/projects/mingw-w64/files/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](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads) 是 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 了。


# 参考资料
[Documentation (openocd.org)](https://openocd.org/pages/documentation.html)
[Quick documentation | CLion Documentation (jetbrains.com)](https://www.jetbrains.com/help/clion/viewing-inline-documentation.html)










apm32f4x.zip

1.6 KB

apm32f4xx openocd文件

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 100.00 元 2024-03-07
理由:恭喜通过原创审核!期待您更多的原创作品~

评论
21小跑堂 2024-3-7 13:55 回复TA
用 Clion 开发 APM32,做【优雅の嵌入式】工程师。作者以详细的环境搭建,完整整个搭建过程,摆脱上世纪风格的IDE(不只是UI)。 
沙发
kai迪皮| | 2024-3-4 10:36 | 只看该作者
学习了

使用特权

评论回复
板凳
yangxiaor520| | 2024-3-7 18:00 | 只看该作者
Clion又是啥IDE软件?开源免费吗?

使用特权

评论回复
地板
susutata|  楼主 | 2024-3-8 13:52 | 只看该作者
yangxiaor520 发表于 2024-3-7 18:00
Clion又是啥IDE软件?开源免费吗?

JetBrains家的,他们家的IDE工具都很好用,缺点就是要收费。 不过订阅一年就可以永久使用当年发布的软件版本了,不用每年交钱,也就还好。

https://www.jetbrains.com/clion/

使用特权

评论回复
5
gangong| | 2024-10-25 16:13 | 只看该作者
牛谢谢分享

使用特权

评论回复
发新帖 本帖赏金 100.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

31

帖子

3

粉丝