STM32能被這么多開(kāi)發(fā)者認(rèn)可,它的強(qiáng)大生態(tài)系統(tǒng)起了關(guān)鍵作用。本文圍繞STM32生態(tài)各軟件工具進(jìn)行相關(guān)描述,其中包含一些技術(shù)細(xì)節(jié)。 一、STM32生態(tài)系統(tǒng)總預(yù)覽
STM32提供了全套開(kāi)發(fā)工具,以及開(kāi)發(fā)所需的軟件包,下面看一張圖,從全局來(lái)了解STM32生態(tài)系統(tǒng)工具和軟件:
主要分為兩大類:1.軟件工具:即左邊部分的STM32CubeMX、 CubeIDE、CubeProgrammer、CubeMontor等。 2.嵌入式軟件包:STM32CubeMCU Packages 和擴(kuò)展軟件包CubeExpansions.
STM32Cube生態(tài)系統(tǒng)幾個(gè)特點(diǎn):
免費(fèi)自由使用;
接口一致,方便移植
可裁剪、可擴(kuò)展
易使用和理解
節(jié)約開(kāi)發(fā)時(shí)間和成本
······
(當(dāng)然,這是我自己總結(jié)的特點(diǎn),其實(shí)還有很多,歡迎補(bǔ)充) 下面進(jìn)一步詳細(xì)描述各工具和軟件包的內(nèi)容。 二、STM32CubeMX
STM32CubeMX早在2014年就推出了,但早期的STM32CubeMX和HAL相對(duì)現(xiàn)在Bug更多,使用也不方便。再加上用戶習(xí)慣了標(biāo)準(zhǔn)外設(shè)庫(kù),所以早期推出STM32CubeMX時(shí),用戶并不買賬。 因此,為了推廣STM32CubeMX,以及讓更多用戶使用STM32CubeMX,ST在14、15年逐漸停止了對(duì)各MCU標(biāo)準(zhǔn)外設(shè)庫(kù)的更新和維護(hù),讓用戶轉(zhuǎn)向了HAL和LL庫(kù)。
STM32CubeMX是一個(gè)圖形化的軟件配置工具,使用圖形向?qū)Э梢陨蒘TM32初始化代碼工程。
STM32CubeMX特性:
1.直觀的選擇 STM32 微控制器(MCU)和微處理器(MPU)。
2.豐富易用的圖形化界面:
-自動(dòng)解決配置沖突
-具有參數(shù)約束動(dòng)態(tài)驗(yàn)證的外設(shè)和中間件功能模式
-時(shí)鐘樹(shù)與配置的動(dòng)態(tài)驗(yàn)證
-功耗預(yù)測(cè)
3.生成初始化代碼工程,包含:EWARM、 MDK-ARM、 TureSTUDIO、 SW4STM32等。
4.針對(duì)部分MPU生成Linux設(shè)備樹(shù)。
5.可獨(dú)立運(yùn)行在Windows、Linux和macOS上使用,或作為 Eclipse 插件使用。
當(dāng)然,更多介紹可以參看我的文章:STM32CubeMX系列教程01_STM32Cube產(chǎn)品介紹 也可以參看官網(wǎng)最新的介紹: www.st.com/stm32cubemx 當(dāng)然,STM32CubeMX的使用教程,可以參看我的專欄:STM32CubeMX系列教程三、STM32CubeIDE
STM32CubeIDE推出的時(shí)間是在19年4月左右,但它的發(fā)展歷程卻有很久了。 STM32CubeIDE的發(fā)展要從早期 Atollic的 TrueSTUDIO 說(shuō)起,早期的 TrueSTUDIO是 Atollic公司針對(duì)嵌入式開(kāi)發(fā)的一套IDE工具(類似Keil、 IAR)。 在2017年12月的時(shí)候,ST收購(gòu)了Atollic公司,然后TrueSTUDIO for STM32就這樣誕生了。 直到2019年4月份,ST正式推出了STM32CubeIDE,簡(jiǎn)單說(shuō)就是TrueSTUDIO for STM32的“升級(jí)版本”,只是這個(gè)“升級(jí)版本”變化有點(diǎn)大。 這里推薦參看我之前分享過(guò)的一篇文章:從TrueSTUDIO遷移到STM32CubeIDE只需要簡(jiǎn)單幾步 下面通過(guò)一張圖來(lái)了解STM32CubeIDE的發(fā)展歷史:
STM32CubeIDE是一個(gè)多功能的集成開(kāi)發(fā)工具(IDE),集成了TrueSTUDIO和STM32CubeMX,它是STM32Cube軟件生態(tài)系統(tǒng)的一部分。 它是一個(gè)先進(jìn)的C/C++開(kāi)發(fā)平臺(tái),具有STM32微控制器的IP配置、代碼生成、代碼編譯和調(diào)試功能等。 官方地址: https://www.stmicroelectronics.com.cn/en/development-tools/stm32cubeide.html 更多可以參看我之前分享過(guò)的文章:STM32CubeIDE介紹、下載安裝,配置生成代碼,在線調(diào)試四、STM32CubeProgmmerSTM32CubeProgmmer之前也有一段很長(zhǎng)的歷史,早期的ST芯片下載工具是 STVP(ST Visual Programmer),可能2010年之前的工程師比較熟悉這款工具,但后面的逐漸被ST-LINK Utility取代了。 ST-LINK Utility應(yīng)該現(xiàn)在很多工程師都還在用,但官方也是用STM32CubeProgmmer替代了ST-LINK Utility,同時(shí)也停止了對(duì)ST-LINK Utility的更新。 這里介紹可以參看我之前分享的一篇文章:STVD、STVP、ST-LINK utility這些工具你了解嗎?
STM32CubeProgrammer有很多地方和ST-LINK Utility相似,但新引入了一些功能,比如安全編程(secure programming)。 這里可以參看文章:幾點(diǎn)關(guān)于STM32CubeProgrammer的內(nèi)容五、STM32CubeMonitor
STM32CubeMonitor是ST今年(2020)推出的一款新的神器,是一款通過(guò)實(shí)時(shí)讀取和顯示變量來(lái)幫助調(diào)試和診斷STM32應(yīng)用程序的工具。
STM32CubeMonitor也有一個(gè)發(fā)展歷程,它的前生其實(shí)是STM Studio。它和STM Studio主要的功能就是監(jiān)控,比如監(jiān)控變量:
主要特征:
?基于圖形流的編輯器,不需要編程來(lái)構(gòu)建儀表板
?通過(guò)ST-LINK (SWD、JTAG協(xié)議)連接到任何STM32設(shè)備
?在目標(biāo)應(yīng)用程序運(yùn)行時(shí),在RAM中實(shí)時(shí)讀取和寫(xiě)入變量解析來(lái)自應(yīng)用程序可執(zhí)行文件的調(diào)試信息
?直接獲取模式或快照模式
?關(guān)注感興趣的應(yīng)用行為
?允許將數(shù)據(jù)記錄到文件中并重播以進(jìn)行詳盡的分析
?通過(guò)可配置的顯示窗口(如曲線和方框)和大量的小部件(如儀表、條形圖和圖表)提供定制的可視化多探頭支持同時(shí)監(jiān)控多個(gè)目標(biāo)
?遠(yuǎn)程監(jiān)控,本機(jī)支持多格式顯示(PC、平板電腦、手機(jī))
?直接支持Node-RED開(kāi)放社區(qū)
?支持操作系統(tǒng):Windows,Linux Ubuntu 和 macOS
(以上來(lái)自有道詞典翻譯,可能存在錯(cuò)誤)
詳細(xì)可以參看文章:STM32CubeMonitor介紹、下載、安裝和使用教程
官網(wǎng)地址:
www.st.com/stm32cubemonitor
CubeMonitor擴(kuò)展:
借助Node-RED開(kāi)放社區(qū),STM32CubeMonitor可提供豐富的擴(kuò)展功能,可參看:
https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor_tool_suite_overview
1.STM32CubeMonitor-RF
網(wǎng)址:
www.st.com/stm32cubemonrf
STM32CubeMonRF是STM32CubeMonitor-RF的縮寫(xiě),它是一款用于監(jiān)測(cè)無(wú)線設(shè)備的工具,目前主要用于監(jiān)測(cè)STM32WB與藍(lán)牙(BLE)和802.15.4設(shè)備的發(fā)送/接收性能。
2.STM32CubeMonitor-Pwwer
網(wǎng)址:
www.st.com/stm32cubemonpwr
STM32CubeMonPwr是STM32CubeMonitor-Power,是一款使開(kāi)發(fā)人員能夠快速分析目標(biāo)板低功耗性能的工具。
3.STM32CubeMonitor-UCPD
網(wǎng)址:
www.st.com/stm32cubemonucpd
STM32CubeMonUCPD是STM32CubeMonitor-UCPD,是一款用于監(jiān)視和配置USB Type-C和Power Delivery應(yīng)用程序的工具。
六、STM32CubeMCU PackagesSTM32Cube生態(tài)的嵌入式軟件包種類繁多,但分類比較明確,下面通過(guò)一張圖來(lái)看下嵌入式軟件包應(yīng)用結(jié)構(gòu)圖:
MCU Packages即MCU軟件包,也是大家最常用、最熟悉的軟件包:
在STM32CubeMX軟件包管理器中可以進(jìn)行查看和(刪除、增加)管理:
MCU軟件包還可以分兩類:
底層驅(qū)動(dòng)HAL和LL
中間層Middlewares
其中中間層有ST自家的、也有第三方的,種類比較多,比如:FreeRTOS、 FatFS、 LwIP、 Open Bootloader、 Bluetooth 5 stack、 Zigbee 3 stack、 USB Host & Device stacks等。
通過(guò)一張圖全面了解MCU軟件包:
各包支持的情況:
七、STM32Expansion
STM32擴(kuò)展包,也是STM32Cube生態(tài)系統(tǒng)其中的組成部分,STM32的擴(kuò)展包有ST自家的,也支持第三方的擴(kuò)展包。 比如:X-CUBE-AI、 X-CUBE-BLE1、 X-CUBE-NFC4······等很多很多。 下面進(jìn)行分類一下:
同樣,可以在STM32CubeMX軟件包管理器中可以進(jìn)行查看和(刪除、增加)管理:
八、總結(jié)
本文總結(jié)了STM32Cube生態(tài)目前(2020.10)所有的軟件工具內(nèi)容,以及描述相關(guān)細(xì)節(jié)內(nèi)容。 STM32Cube生態(tài)的軟件工具細(xì)節(jié)內(nèi)容其實(shí)比較多,并不是所有都需要掌握,初學(xué)者可以從STM32CubeMX和MCU軟件包(HAL)開(kāi)始學(xué)起,然后一步一步拓展。
責(zé)任編輯:lq
-
STM32
+關(guān)注
關(guān)注
2270文章
10904瀏覽量
356363 -
生態(tài)系統(tǒng)
+關(guān)注
關(guān)注
0文章
702瀏覽量
20736
原文標(biāo)題:全面解讀STM32生態(tài)環(huán)境,介紹、下載安裝、使用教程等
文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論