# 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 了。
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304798 -
AI
+關注
關注
87文章
30728瀏覽量
268886 -
開發環境
+關注
關注
1文章
225瀏覽量
16609 -
SDK
+關注
關注
3文章
1035瀏覽量
45899
原文標題:APM32芯得 EP.48 | 用 Clion 開發 APM32
文章出處:【微信號:geehysemi,微信公眾號:Geehy極海半導體】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論