0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么用Clion開(kāi)發(fā)APM32

Geehy極海半導(dǎo)體 ? 來(lái)源:Geehy極海半導(dǎo)體 ? 2024-12-17 09:19 ? 次閱讀

# 01 前言

APM32 官方 SDK 中提供了三種開(kāi)發(fā)環(huán)境:Keil、IAR 和 Eclipse。不否認(rèn)這三種環(huán)境的強(qiáng)大,但是在 AI 時(shí)代做嵌入式開(kāi)發(fā),用這三種環(huán)境就顯得有點(diǎn)不夠優(yōu)雅了。本篇文章主要介紹怎么用Clion 開(kāi)發(fā) APM32,涉及 CMake、Makefile、OpenOCD 和PyOCD 的知識(shí),供大家參考。

# 02 環(huán)境搭建

## 軟件環(huán)境

- 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

## 硬件環(huán)境

- APM32F407IG Tiny 開(kāi)發(fā)板

## 搭建 MinGW-w64 環(huán)境

### 安裝 MinGW-w64

[MinGW-W64](https://sourceforge.net/projects/mingw-w64/files/mingw-w64/)全稱(chēng)為 Minimalist GNU for Windows,是一個(gè)在 Windows 平臺(tái)上編譯 32 位和64 位應(yīng)用程序的工具集。MinGW-w64 是 MinGW 的一個(gè)分支,它支持 64 位 Windows 和 32 位 Windows。

MinGW-w64 支持在線安裝和離線安裝,這里建議大家使用離線安裝方式,因?yàn)樵诰€安裝的速度太慢了。Windows 系統(tǒng)開(kāi)發(fā) Linux 應(yīng)用選擇 `x86_64-posix-seh`,Windows 系統(tǒng)開(kāi)發(fā) Windows 應(yīng)用選擇 `x86_64-win32-seh`。

8cf23fb2-b93e-11ef-8732-92fbcf53809c.jpg

我是用 Windows 系統(tǒng)開(kāi)發(fā)Windows 應(yīng)用,所以選擇 `x86_64-win32-seh` 進(jìn)行下載。從上面鏈接下載完成后,解壓壓縮包中的 mingw64 文件夾到自己喜歡的位置,這里解壓到 `E:ToolChain`。

8cf6dfae-b93e-11ef-8732-92fbcf53809c.jpg

### 配置環(huán)境變量

將 `E:ToolChainmingw64in` 添加到環(huán)境變量 `Path` 中。

8d0828d6-b93e-11ef-8732-92fbcf53809c.jpg

### 驗(yàn)證 MinGW-w64 是否安裝成功

打開(kāi) CMD,輸入 `gcc -v`,如果出現(xiàn)如下信息,則說(shuō)明 MinGW-w64 安裝成功。

8d19276c-b93e-11ef-8732-92fbcf53809c.jpg

## 搭建gcc-arm-none-eabi 環(huán)境

### 安裝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 官方提供的一款免費(fèi)的編譯器,支持多種操作系統(tǒng),包括Windows、Linux 和 macOS。

8d28f854-b93e-11ef-8732-92fbcf53809c.jpg

從上面的鏈接下載壓縮包后,同樣解壓到 `E:ToolChain`。

8d4205f6-b93e-11ef-8732-92fbcf53809c.jpg

### 配置環(huán)境變量

將`E:ToolChaingcc-arm-none-eabi-10.3-2021.10in` 添加到環(huán)境變量 `Path` 中。

8d60ada8-b93e-11ef-8732-92fbcf53809c.jpg

### 驗(yàn)證gcc-arm-none-eabi 是否安裝成功

打開(kāi) CMD,輸入`arm-none-eabi-gcc -v`,如果出現(xiàn)如下信息,則說(shuō)明 gcc-arm-none-eabi 安裝成功。

8d6fd468-b93e-11ef-8732-92fbcf53809c.jpg

## 搭建 OpenOCD 環(huán)境

### 安裝 OpenOCD

[OpenOCD](https://sourceforge.net/projects/openocd/files/openocd/0.12.0-rc1/)全稱(chēng)為 Open On-Chip Debugger,是一個(gè)開(kāi)源的調(diào)試工具,支持多種調(diào)試器,包括 J-Link、ST-Link、CMSIS-DAP等。

從上面鏈接下載后,同樣解壓到 `E:ToolChain`。

8d80027a-b93e-11ef-8732-92fbcf53809c.jpg

因?yàn)?OpenOCD 官方還未支持APM32,所以需要增加對(duì) APM32 的支持。將附件提供的`apm32f4x.cfg` 文件拷貝到`E:ToolChainOpenOCDshareopenocdscripts arget` 目錄下。

8d886f32-b93e-11ef-8732-92fbcf53809c.jpg

### 配置環(huán)境變量

將 `E:ToolChainOpenOCDin` 添加到環(huán)境變量 `Path` 中。

8d9e31e6-b93e-11ef-8732-92fbcf53809c.jpg

### 驗(yàn)證 OpenOCD 是否安裝成功

打開(kāi) CMD,輸入 `openocd-v`,如果出現(xiàn)如下信息,則說(shuō)明 OpenOCD 安裝成功。

8db5b316-b93e-11ef-8732-92fbcf53809c.jpg

# 03 配置 Clion

### 配置工具鏈

打開(kāi) Clion,點(diǎn)擊 `File`-> `Settings` -> `Build, Execution, Deployment` -> `Toolchains`,點(diǎn)擊 `+` 號(hào),選擇 `MinGW`,點(diǎn)擊`OK`。將上述搭建的環(huán)境填入對(duì)應(yīng)的位置,點(diǎn)擊 `OK`。如下圖所示:

8dc3168c-b93e-11ef-8732-92fbcf53809c.jpg

> 注意:CMake 選擇 Bundled,Debuggers 選擇 Bundled GDB。

到 `CMake` 選項(xiàng)卡中確認(rèn)`Toolchain` 選擇的是 `MinGW`,如下圖所示:

8ddd31ca-b93e-11ef-8732-92fbcf53809c.jpg

### 配置 OpenOCD

點(diǎn)擊 `File` -> `Settings` -> `Build,Execution, Deployment` -> `Embedded Development` -> `OpenOCD Localtion` 設(shè)置為 `E:ToolChainOpenOCDinopenocd.exe`,如下圖所示:

8dff10d8-b93e-11ef-8732-92fbcf53809c.jpg

# 04 Clion 開(kāi)發(fā) APM32

## 導(dǎo)入工程

Clion 使用 CMake 構(gòu)建工程,所以在 APM32 官方 SDK 中的工程需要加入 CMakeLists.txt 文件。

這里用到我另一篇帖子 [使用CMake構(gòu)建APM32工程](https://bbs.21ic.com/icview-3357660-1-1.html)里面的工程,大家可以去下載。下載完成后,將工程導(dǎo)入或直接拖拽工程目錄入 Clion,如下圖所示:

8e0cdd1c-b93e-11ef-8732-92fbcf53809c.jpg

工程導(dǎo)入后,Clion 會(huì)提示項(xiàng)目未配置。我們打開(kāi) `GPIO_Toggle` -> `Project` -> `CMake` 目錄,然后在 `CMakeLists.txt` 文件右鍵選擇 `Load CMakeProject`,如下圖所示:

8e16f28e-b93e-11ef-8732-92fbcf53809c.jpg

等待配置完成即可,配置完成后,CMake 輸出窗口會(huì)顯示如下信息:

8e2b3f46-b93e-11ef-8732-92fbcf53809c.jpg

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

8e3d1f2c-b93e-11ef-8732-92fbcf53809c.jpg

## 編譯工程

點(diǎn)擊 `Build` -> `Build Project` 進(jìn)行工程的編譯,編譯完成后 Build 輸出窗口會(huì)顯示如下信息:

8e451e66-b93e-11ef-8732-92fbcf53809c.jpg

## 下載和調(diào)試

點(diǎn)擊 `Run` -> `Edit Configurations`,點(diǎn)擊 `+` 號(hào),選擇 `OpenOCD Download & Run`,如下圖所示:

8e5a0678-b93e-11ef-8732-92fbcf53809c.jpg

配置 `Target`、`Executablebinary` 和 `Board config file`,點(diǎn)擊 `OK`,如下圖所示:

8e733058-b93e-11ef-8732-92fbcf53809c.jpg

其中 `Board config file` 選擇 `geehyLink.cfg`。文件內(nèi)容如下:

adapterdriver cmsis-dap

transportselect swd

#0x100000 = 1M Flash Size

setFLASH_SIZE 0x100000

source[find target/apm32f4x.cfg]

#download speed = 10MHz

adapterspeed 10000

點(diǎn)擊 `Run` -> `Debug`,開(kāi)始下載和調(diào)試,如下圖所示:

8e7f64fe-b93e-11ef-8732-92fbcf53809c.png

## 查看外設(shè)寄存器

在 `Debug` 窗口中`Peripheral` 加載官方提供的 `svd` 文件,即可查看外設(shè)寄存器信息。

8e980734-b93e-11ef-8732-92fbcf53809c.jpg

## 查看 Memory 信息

在 `Debug` 窗口中`Memory View` 查看內(nèi)存信息。

8ea15384-b93e-11ef-8732-92fbcf53809c.jpg

## 觀察變量

在 `Debug` 窗口中`Variables` 觀察變量。

8eb7833e-b93e-11ef-8732-92fbcf53809c.jpg

## AI 代碼提示

Clion 帶有插件系統(tǒng),可以安裝插件,比如 Github Copilot,可以用 AI 技術(shù)幫助我們更快的編寫(xiě)代碼。

8ecdad30-b93e-11ef-8732-92fbcf53809c.jpg

## 代碼補(bǔ)全

Clion 還有著很強(qiáng)大的代碼補(bǔ)全功能。

8edac59c-b93e-11ef-8732-92fbcf53809c.jpg

還有更多功能等待大家去發(fā)現(xiàn),這里就不一一介紹了。

到此,Clion 開(kāi)發(fā) APM32 的環(huán)境搭建和工程配置就完成了,大家可以參考著優(yōu)雅的開(kāi)發(fā) APM32 了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19123

    瀏覽量

    305143
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30887

    瀏覽量

    269060
  • 開(kāi)發(fā)環(huán)境

    關(guān)注

    1

    文章

    225

    瀏覽量

    16617
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1036

    瀏覽量

    45934

原文標(biāo)題:APM32芯得 EP.48 | 用 Clion 開(kāi)發(fā) APM32

文章出處:【微信號(hào):geehysemi,微信公眾號(hào):Geehy極海半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    APM32代替STM32遇到的坑

    APM32芯片是如何替換STM32芯片的?有哪些操作流程?
    發(fā)表于 09-22 07:56

    APM32 ST-LINK不能刷入的解決辦法

    APM32 ST-LINK不能刷入之前一直apm32F103CBT6代替stm32F103C8T6,然后突然沒(méi)法刷入程序,解決方案如下:把st-link/v2的TVCC引腳接到單片機(jī)的3.3v電源
    發(fā)表于 02-18 07:09

    APM32工業(yè)級(jí)硬核抗寒體質(zhì),無(wú)懼-40℃寒潮!

    極海APM32全系列MCU,工作溫度覆蓋-40℃~+105℃,ESD等級(jí)高達(dá)8KV,具有低功耗、高性能、安全可靠、可移植性好、客戶接受程度高等特點(diǎn),可保障智能快遞柜在各種嚴(yán)苛高低溫工作環(huán)境中穩(wěn)定運(yùn)行。
    發(fā)表于 01-14 17:13 ?2768次閱讀

    clion自帶的嵌入式開(kāi)發(fā)功能和stm32cubeMX開(kāi)發(fā)stm32!!!

    起因因?yàn)閗eil的難用…以前開(kāi)發(fā)stm32,我都是使用stm32cube生成了項(xiàng)目文件之后,clion編輯,然后用keil編譯下載加Debug.說(shuō)實(shí)話,整體感覺(jué)還不錯(cuò),但總感覺(jué)怪怪的.也曾嘗試
    發(fā)表于 11-03 09:36 ?14次下載
    <b class='flag-5'>用</b><b class='flag-5'>clion</b>自帶的嵌入式<b class='flag-5'>開(kāi)發(fā)</b>功能和stm32cubeMX<b class='flag-5'>開(kāi)發(fā)</b>stm32!!!

    APM32 ST-LINK不能刷入

    APM32 ST-LINK不能刷入之前一直apm32F103CBT6代替stm32F103C8T6,然后突然沒(méi)法刷入程序,解決方案如下:把st-link/v2的TVCC引腳接到單片機(jī)的3.3v電源
    發(fā)表于 12-23 19:01 ?5次下載
    <b class='flag-5'>APM32</b> ST-LINK不能刷入

    基于APM32 MCU的電動(dòng)車(chē)BMS及電機(jī)控制應(yīng)用方案

    極海APM32系列工業(yè)級(jí)通用MCU,低功耗、高性能、高集成、易于移植、支持96位唯一設(shè)備ID(UID),ESD高達(dá)8KV,符合工業(yè)級(jí)可靠性標(biāo)準(zhǔn),具有較強(qiáng)的抗干擾性和防靜電能力,全系列產(chǎn)品工作溫度覆蓋-40℃~+105℃,滿足嚴(yán)苛工作環(huán)境的溫度要求,可為電動(dòng)車(chē)行業(yè)提供安全可靠的嵌入式應(yīng)用解決方案。
    發(fā)表于 02-08 17:01 ?17次下載
    基于<b class='flag-5'>APM32</b> MCU的電動(dòng)車(chē)BMS及電機(jī)控制應(yīng)用方案

    嵌入式開(kāi)發(fā)工具服務(wù)商IAR Systems工具鏈全面支持極海半導(dǎo)體APM32系列MCU

    嵌入式開(kāi)發(fā)工具服務(wù)商IAR Systems工具鏈全面支持極海半導(dǎo)體APM32系列MCU. IAR Embedded Workbench for Arm 9.30已全面支持極海半導(dǎo)體APM32系列
    發(fā)表于 07-13 17:08 ?1817次閱讀
    嵌入式<b class='flag-5'>開(kāi)發(fā)</b>工具服務(wù)商IAR Systems工具鏈全面支持極海半導(dǎo)體<b class='flag-5'>APM32</b>系列MCU

    APM32 PROG開(kāi)發(fā)工具使用說(shuō)明

    APM32_PROG使用說(shuō)明書(shū),軟件使用方法
    發(fā)表于 09-30 14:39 ?2次下載

    APM32系列工業(yè)級(jí)MCU GW88系列低功耗藍(lán)牙芯片選型

    APM32系列工業(yè)級(jí)MCU GW88系列低功耗藍(lán)牙芯片選型表免費(fèi)下載。需要樣品可以留言下載,15994789587
    發(fā)表于 12-13 11:51 ?12次下載

    APM32燒錄器使用說(shuō)明書(shū)

    APM32燒錄器使用說(shuō)明書(shū)
    發(fā)表于 11-09 21:03 ?6次下載
    <b class='flag-5'>APM32</b>燒錄器使用說(shuō)明書(shū)

    APM32 PROG安裝包

    APM32 PROG安裝包
    發(fā)表于 11-09 21:03 ?6次下載
    <b class='flag-5'>APM32</b> PROG安裝包

    APM32F030X8_配置差異_APM32庫(kù)在main前時(shí)鐘配置出現(xiàn)異常

    APM32F030X8_配置差異_APM32庫(kù)在main前時(shí)鐘配置出現(xiàn)異常
    發(fā)表于 11-09 21:03 ?0次下載
    <b class='flag-5'>APM</b>32F030X8_配置差異_<b class='flag-5'>APM32</b>庫(kù)在main前時(shí)鐘配置出現(xiàn)異常

    APM32 MCU助力推動(dòng)新型工業(yè)化發(fā)展

    國(guó)產(chǎn)APM32 MCU助力推動(dòng)新型工業(yè)化發(fā)展
    的頭像 發(fā)表于 09-28 17:38 ?827次閱讀
    <b class='flag-5'>APM32</b> MCU助力推動(dòng)新型工業(yè)化發(fā)展

    PICO Example Clion開(kāi)發(fā)

    以下是一些在 linux 環(huán)境下,使用 Clion 開(kāi)發(fā)基于 C/C++ SDK 的 PICO-Example 的注意事項(xiàng),使用 Clion 的下載和調(diào)試配置在上一篇文章中已經(jīng)介紹。
    的頭像 發(fā)表于 10-09 10:16 ?832次閱讀

    RaspberryPi Pico Clion開(kāi)發(fā)環(huán)境配置

    該文章用于記錄使用一塊 Pico通過(guò) picoprobe 調(diào)試另一塊 Pico 的開(kāi)發(fā)方案,使用的 IDE 為 Clion,工程文件為 RT-Thread BSP。
    的頭像 發(fā)表于 10-09 16:16 ?1350次閱讀
    RaspberryPi Pico <b class='flag-5'>Clion</b><b class='flag-5'>開(kāi)發(fā)</b>環(huán)境配置