STM32CubeMX聯(lián)合CLion開發(fā)環(huán)境搭建
1. STM32CubeMX與CLion簡介
1.1 STM32CubeMX
STM32CubeMX是一種圖形化配置工具,用于為STM32微控制器生成啟動代碼和初始化配置。它可以幫助簡化STM32項目的初始化過程,并提供了一種可視化的方式來配置引腳、時鐘、外設(shè)和中斷等。HAL(Hardware Abstraction Layer)庫是STMicroelectronics提供的一種高級API層,用于編寫STM32微控制器的應(yīng)用程序。
相較于傳統(tǒng)ST系列開發(fā),STM32Cube具有以下優(yōu)勢:
-
綜合工具鏈:STM32Cube是STMicroelectronics提供的一套綜合性工具鏈,包括了STM32CubeMX、HAL庫、LL庫、中間件和示例代碼等。它們可以協(xié)同工作,使得開發(fā)過程更加簡化和高效。
-
圖形化配置工具:STM32CubeMX是STM32Cube的核心組成部分,提供了圖形化的配置工具。它可以幫助開發(fā)人員通過簡單的拖拽和配置來初始化和配置STM32微控制器的引腳、時鐘、外設(shè)等,減少了手動編寫和調(diào)試配置代碼的工作量。
-
HAL和LL庫:STM32Cube提供了兩種不同級別的軟件抽象層,即HAL(Hardware Abstraction Layer)庫和LL(Low-Level)庫。HAL庫提供了更高級別的API函數(shù),可以快速上手和開發(fā),而LL庫提供了更底層的接口,可以實現(xiàn)更高的靈活性和性能優(yōu)化。
-
高度可移植性:STM32Cube支持多個STM32微控制器系列,包括F0、F1、F2、F3、F4、F7、G0、G4、H7和L0等。這意味著您可以在不同型號的STM32微控制器之間共享和重用代碼,減少了開發(fā)和維護的工作量,并實現(xiàn)了更好的項目可移植性。
-
內(nèi)置中間件和示例代碼:STM32Cube提供了一系列中間件(如USB、TCP/IP、文件系統(tǒng)等)和示例代碼,可以幫助開發(fā)人員更快速地實現(xiàn)常見的功能和應(yīng)用。這些中間件和示例代碼經(jīng)過測試和優(yōu)化,可以加速開發(fā)過程,并提供參考和指導(dǎo)。
-
持續(xù)更新和支持:STM32Cube由STMicroelectronics進行持續(xù)更新和維護,確保與最新的STM32產(chǎn)品和技術(shù)保持同步。這意味著您可以獲得最新的功能和修復(fù),同時享受STMicroelectronics的技術(shù)支持和社區(qū)資源。-
1.2 HAL庫
HAL庫相對于標準庫在STM32開發(fā)中具有以下優(yōu)勢:
-
抽象層:HAL庫提供了一個硬件抽象層,將底層硬件與應(yīng)用程序分離。這種抽象層使得開發(fā)人員可以更專注于應(yīng)用程序的開發(fā),而不必過多關(guān)注底層硬件的細節(jié)。它簡化了硬件編程的復(fù)雜性,減少了代碼量和開發(fā)時間。
-
一致性和可移植性:HAL庫為不同型號的STM32微控制器提供了一致的API接口。這意味著您可以在不同的STM32微控制器之間共享和重用代碼,而無需進行大量的修改。這種一致性和可移植性簡化了跨平臺開發(fā)和產(chǎn)品遷移的過程。
-
簡化配置:HAL庫與STM32CubeMX集成,提供了圖形化的配置工具。這使得配置引腳、時鐘和外設(shè)變得更加直觀和簡單。您可以使用圖形界面輕松選擇和配置所需的外設(shè)和功能,并生成相應(yīng)的初始化代碼。
-
內(nèi)置驅(qū)動程序:HAL庫提供了內(nèi)置的驅(qū)動程序,用于操作和管理STM32微控制器的各種外設(shè)。這些驅(qū)動程序封裝了硬件寄存器的訪問和配置,提供了易于使用的API函數(shù)。這簡化了對外設(shè)的初始化和配置,并提供了一致的接口,使得外設(shè)之間的切換更加方便。
-
豐富的功能支持:HAL庫提供了廣泛的功能支持,包括串口通信、SPI、I2C、定時器、中斷、DMA等。這些功能模塊的封裝使得開發(fā)人員能夠更輕松地實現(xiàn)復(fù)雜的應(yīng)用需求,而無需從頭開始編寫底層代碼。
HAL庫的最大優(yōu)勢是官方推薦,而標準庫函數(shù)版本已經(jīng)不維護更新了
1.3 CLion
CLion是JetBrains公司開發(fā)的一款集成開發(fā)環(huán)境(IDE),專門用于C和C++語言開發(fā)。它提供了許多功能和工具,旨在提高C和C++開發(fā)的效率和質(zhì)量。
2. 部署過程
2.1 軟件部署環(huán)境
軟件環(huán)境:
- Windows11
- STM32CubeMX
- Clion-2021
- Mingw
- OpenOCD
- arm-none-eabi-gcc
硬件環(huán)境STM32F103
J-Link
2.2 STM32CubeMX下載及安裝
STM32CubeMX官方下載
https://www.st.com/en/development-tools/stm32cubemx.html
參考稚暉君 https://www.bilibili.com/read/cv6308000?spm_id_from=333.999.0.0
選擇版本為6.4.0,高版本沒有SW4STM32工程生成鏈
下載后解壓
2.2 OpenOCD下載與安裝
OpenOCD
Windows上使用 OpenOCD 給 STM32 下載程序 - 騰訊云開發(fā)者社區(qū)-騰訊云 (tencent.com)
Releases · xpack-dev-tools/openocd-xpack (github.com)
解壓到自己可以找的到的地方,將bin目錄添加到環(huán)境變量中
參考
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
作者:稚暉君 https://www.bilibili.com/read/cv6308000?spm_id_from=333.999.0.0 出處:bilibili
選擇zip形式
將解壓后的bin目錄加入環(huán)境變量
命令提示符有輸出證明配置正確
2.3 CLion設(shè)置
設(shè)置clion
File-Setting-Buid,Execution,Deployment
添加一個mingw環(huán)境
CLion下載和mingw下載以及安裝可以參考其他博主網(wǎng)上教程
CLion:http://t.csdn.cn/Zr9XX
mingw:http://t.csdn.cn/Ak4gO
檢查一下CMake
配置完畢。
3. 第一個STM32項目
開始第一個STM32項目
點擊create之后會生成一個.ioc文件,此文件與使用STM32CubeMX是等效的
點擊此處能夠使用STM32CubeMX打開.ioc
嘗試點擊一下
默認選中的芯片型號是STM32F030F4Px,我們可以在CubeMX中重新選擇自己需要的芯片,一切操作都和使用Keil開發(fā)沒有區(qū)別。
-
Project Name要與Clion中一致
-
生成IDE類型選擇SW4STM32
此處提示表達的是SW4STM32工程在之后的版本中被廢棄了。
生成之后切換回CLion
打開File-Setting-Buid,Execution,Deployment
配置完成文章來源:http://www.zghlxwxcb.cn/news/detail-504596.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-504596.html
到了這里,關(guān)于STM32CubeMX聯(lián)合CLion開發(fā)環(huán)境搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!