既然想學習STM32,那麼Cube系列軟體是一定要精通的

既然想學習

STM32

那麼

Cub

e

系列軟體

一定要精通的

既然想學習STM32,那麼Cube系列軟體是一定要精通的

嘗試使

Cub

e

進行一些開發學習,這裡對此做一個梗概,先有一個全面的瞭解。

Cub

e

全家桶

曾幾何時

S

T

剛推

CubeM

X

的時候,自動生成的外設初始化程式碼都會有這樣那樣的錯誤,而如今,隨著軟體的迭代升級

Cub

e

生態也越來越完善,並且使用也越來越方便

S

T

推出的

STM32Cube Ecosystem

提供了免費整套的開發軟體工具和嵌入式軟體包,其中可以從晶片的外設配置,程式開發,程式下載以及系統監視一系列的功能。如下圖所示;

既然想學習STM32,那麼Cube系列軟體是一定要精通的

·

STM32 CubeMX

STM3

2

的裝置都可以使用這個工具初始化配置程式碼,這個是基

Jav

a

開發的圖形化介面配置軟體,可以為

Cortex-M

自動生成需要配置的

C

程式碼,還可以為支援

Linux

系統的

Cortex-A

核心生成裝置樹。

·

STM32 CubeIDE

這是一

S

T

推出的免費的整合開發環境,基

Eclips

e

GNU C/C++

等開源工具鏈,可以編譯除錯程式碼,並且官方也將

STM32 CubeMX

整合到

IDE

中,這樣整個軟體的配置和開發變得渾然一體,便捷非常。

·

STM32CubeProgrammer

軟體程式設計工具,支援

JTA

G

SW

D

UAR

T

USB DF

U

I2

C

SP

I

CA

N

)等方式對裝置和外部儲存器進行讀寫。

·

STM32CubeMonitor

系列工具。強大的監視工具可幫助開發人員實時微調其應用程式的行為和效能,這個目前還沒有嘗試,暫且先相信官方的自誇吧。

所以使用以上

ST Cub

e

全家桶進

STM3

2

的軟體開發,還是有不少坑要在實踐過程中慢慢爬,整體的一個流程基本如下;

既然想學習STM32,那麼Cube系列軟體是一定要精通的

·

第一步:使

CubeMX

初始化相應的晶片外設功能等等;

·

第二步:使用

CubeIDE

進行程式碼編輯除錯等操作,當然,如果你喜歡也可以使用

IAR

Keil

,或者

VSCode

,這個完全出自個人喜好和習慣,但是據說

CubeIDE

裡集成了

CubeMX

,這個難道不香

加上如果想使

gcc

編譯器,那也省去了很多配置的麻煩;

·

第三步:使用

CubeProgrammer

進行程式燒錄,主要是支援的協議多啊,還可以吧,感覺是吹的挺厲害的;

·

第四步:以後可能會出更多的功能外掛,目前感覺不是十分必要。

CubeMX

STM32 CubeM

X

的安裝,十分簡單,不過下載需要提交郵箱,基本根據系統提示就可以完成,另外

STM32 CubeM

X

目前自動生成的程式碼支援官方的

HA

L

L

L

,像以前筆者常用的標準外設庫就已經被

ST

拋棄了,最新

STM32F

7

已經不支援標準外設庫了

同時

CubeM

X

初始化生

C

程式碼專案,最終的工程可以符合

IAR

Keil MDK

GCC

,所以這裡相對來說比較方便,不用對著手冊擼暫存器了,也不用對著官方標準外設庫

demo

進行移植,真的是哪裡不會點哪裡。

·

HA

L

的封裝相對來說好一點,但是程式碼讀起來相對比較冗雜,通用性和移植性好,符合軟體工程的設計思想,那麼會犧牲一點效率了。

·

L

L

會再底層一點,這幾個的選擇還是看個人喜好和團隊的需要了。

CubeIDE

再官網下載

CubeIDE

這個軟體並安裝,假設你已經成功安裝並打開了軟體,會看到;

既然想學習STM32,那麼Cube系列軟體是一定要精通的

這時候

CubeIDE

已經集成了

CubeMX

了,新建

STM32

工程

step by ste

p

即可快速開始了。

CubeProg

整體看了一

STM32 CubeProg

的介紹,其實有點還是可以的,首先這個軟體支援多平臺如

Windows, Linux, macO

S

等等

Java

進行開發的有點,這一系列差不多都是用

Java

開發的吧,另外可能對

st-link

的支援比較好,如果使用

jlink

的話,用個

openocd

也無妨,但是畢竟是套裝,下面簡單羅列一下;

·

支援擦除,讀

Flas

h

等等操作;

·

Motorola S19, HEX, ELF

二進位制格式;

·

ST-LIN

K

的韌體升級;

·

多平臺

Windows, Linux, macO

S

,其實就看好這一點;

結語

Cub

e

進行了簡單的學習和介紹,目前還有不少坑要爬,建議看一下

HAL

的封裝,有必要

LL

也可以看看,基本上還是符

CMSI

S

那套標準。另外關於開發環境,如果需要使用

CubeIDE

進行開發,它已經集成了

CubeMAX

,則無需另外下載了,直接一站式服務搞定,如果只需要生成初始化程式碼,那麼

CubeMAX

還是有必要單獨裝一下的。

我自己在今年年初錄製了一套還比較系統的入門微控制器教程,想要的同學找我拿就行了免費的,私信我就可以

~

點我頭像黑色字型加蚣重呺也能領取。