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