既然想學習
STM32
,
那麼
Cub
e
系列軟體
是
一定要精通的
嘗試使
用
Cub
e
進行一些開發學習,這裡對此做一個梗概,先有一個全面的瞭解。
Cub
e
全家桶
曾幾何時
,
S
T
剛推
出
CubeM
X
的時候,自動生成的外設初始化程式碼都會有這樣那樣的錯誤,而如今,隨著軟體的迭代升級
,
Cub
e
生態也越來越完善,並且使用也越來越方便
,
S
T
推出的
STM32Cube Ecosystem
提供了免費整套的開發軟體工具和嵌入式軟體包,其中可以從晶片的外設配置,程式開發,程式下載以及系統監視一系列的功能。如下圖所示;
·
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
的軟體開發,還是有不少坑要在實踐過程中慢慢爬,整體的一個流程基本如下;
·
第一步:使
用
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
這個軟體並安裝,假設你已經成功安裝並打開了軟體,會看到;
這時候
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
還是有必要單獨裝一下的。
我自己在今年年初錄製了一套還比較系統的入門微控制器教程,想要的同學找我拿就行了免費的,私信我就可以
哦
~
點我頭像黑色字型加蚣重呺也能領取。