怎么用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:ToolChainmingw64in` 添加到环境变量 `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:ToolChaingcc-arm-none-eabi-10.3-2021.10in` 添加到环境变量 `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:ToolChainOpenOCDshareopenocdscripts arget` 目录下。

嵌入式

### 配置环境变量

将 `E:ToolChainOpenOCDin` 添加到环境变量 `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:ToolChainOpenOCDinopenocd.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 CMakeProject`,如下图所示:

嵌入式

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

嵌入式

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

嵌入式

## 编译工程

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

嵌入式

## 下载和调试

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

嵌入式

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

嵌入式

其中 `Board config file` 选择 `geehyLink.cfg`。文件内容如下:

adapterdriver cmsis-dap

transportselect swd

#0x100000 = 1M Flash Size

setFLASH_SIZE 0x100000

source[find target/apm32f4x.cfg]

#download speed = 10MHz

adapterspeed 10000

点击 `Run` -> `Debug`,开始下载和调试,如下图所示:

嵌入式

## 查看外设寄存器

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

嵌入式

## 查看 Memory 信息

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

嵌入式

## 观察变量

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

嵌入式

## AI 代码提示

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

嵌入式

## 代码补全

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

嵌入式

还有更多功能等待大家去发现,这里就不一一介绍了。

到此,Clion 开发 APM32 的环境搭建和工程配置就完成了,大家可以参考着优雅的开发 APM32 了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分