STM32能被這麼多開發者認可,它的強大生態系統起了關鍵作用。本文圍繞STM32生態各軟件工具進行相關描述,其中包含一些技術細節。
一、STM32生態系統總預覽
STM32提供了全套開發工具,以及開發所需的軟件包,下面看一張圖,從全局來了解STM32生態系統工具和軟件:
主要分爲兩大類:
1.軟件工具:即左邊部分的STM32CubeMX、 CubeIDE、 CubeProgrammer、 CubeMontor等。
2.嵌入式軟件包:STM32CubeMCU Packages 和 擴展軟件包CubeExpansions.
STM32Cube生態系統幾個特點:
免費自由使用;
接口一致,方便移植
可裁剪、可擴展
易使用和理解
節約開發時間和成本
······
(當然,這是我自己總結的特點,其實還有很多,歡迎補充)
下面進一步詳細描述各工具和軟件包的內容。
二、STM32CubeMX
STM32CubeMX早在2014年就推出了,但早期的STM32CubeMX和HAL相對現在Bug更多,使用也不方便。再加上用戶習慣了標準外設庫,所以早期推出STM32CubeMX時,用戶並不買賬。
因此,爲了推廣STM32CubeMX,以及讓更多用戶使用STM32CubeMX,ST在14、15年逐漸停止了對各MCU標準外設庫的更新和維護,讓用戶轉向了HAL和LL庫。
STM32CubeMX是一個圖形化的軟件配置工具,使用圖形嚮導可以生成STM32初始化代碼工程。
STM32CubeMX特性:
1.直觀的選擇 STM32 微控制器(MCU)和微處理器(MPU)。
2.豐富易用的圖形化界面:
-自動解決配置衝突
-具有參數約束動態驗證的外設和中間件功能模式
-時鐘樹與配置的動態驗證
-功耗預測
3.生成初始化代碼工程,包含:EWARM、 MDK-ARM、 TureSTUDIO、 SW4STM32等。
4.針對部分MPU生成Linux設備樹。
5.可獨立運行在Windows、Linux和macOS上使用,或作爲 Eclipse 插件使用。
當然,更多介紹可以參看我的文章:STM32CubeMX系列教程01_STM32Cube產品介紹
也可以參看官網最新的介紹:
www.st.com/stm32cubemx
當然,STM32CubeMX的使用教程,可以參看我的專欄:STM32CubeMX系列教程
三、STM32CubeIDE
STM32CubeIDE推出的時間是在19年4月左右,但它的發展歷程卻有很久了。
STM32CubeIDE的發展要從早期 Atollic 的 TrueSTUDIO 說起,早期的 TrueSTUDIO 是 Atollic公司針對嵌入式開發的一套IDE工具(類似Keil、 IAR)。
在2017年12月的時候,ST收購了Atollic公司,然後TrueSTUDIO for STM32就這樣誕生了。
直到2019年4月份,ST正式推出了STM32CubeIDE,簡單說就是TrueSTUDIO for STM32的「升級版本」,只是這個「升級版本」變化有點大。
這裏推薦參看我之前分享過的一篇文章:從TrueSTUDIO遷移到STM32CubeIDE只需要簡單幾步
下面通過一張圖來了解STM32CubeIDE的發展歷史:
STM32CubeIDE是一個多功能的集成開發工具(IDE),集成了TrueSTUDIO和STM32CubeMX,它是STM32Cube軟件生態系統的一部分。
它是一個先進的C/C++開發平臺,具有STM32微控制器的IP配置、代碼生成、代碼編譯和調試功能等。
官方地址:
https://www.stmicroelectronics.com.cn/en/development-tools/stm32cubeide.html
更多可以參看我之前分享過的文章:STM32CubeIDE介紹、下載安裝,配置生成代碼,在線調試
四、STM32CubeProgmmer
STM32CubeProgmmer之前也有一段很長的歷史,早期的ST芯片下載工具是 STVP(ST Visual Programmer) ,可能2010年之前的工程師比較熟悉這款工具,但後面的逐漸被ST-LINK Utility取代了。
ST-LINK Utility應該現在很多工程師都還在用,但官方也是用STM32CubeProgmmer替代了ST-LINK Utility,同時也停止了對ST-LINK Utility的更新。
這裏介紹可以參看我之前分享的一篇文章:STVD、STVP、ST-LINK utility這些工具你瞭解嗎?
STM32CubeProgrammer有很多地方和ST-LINK Utility相似,但新引入了一些功能,比如安全編程(secure programming)。
這裏可以參看文章:幾點關於STM32CubeProgrammer的內容
五、STM32CubeMonitor
STM32CubeMonitor是ST今年(2020)推出的一款新的神器,是一款通過實時讀取和顯示變量來幫助調試和診斷STM32應用程序的工具。
STM32CubeMonitor也有一個發展歷程,它的前生其實是STM Studio。它和STM Studio主要的功能就是監控,比如監控變量:
主要特徵:
•基於圖形流的編輯器,不需要編程來構建儀表板
•通過ST-LINK (SWD、JTAG協議)連接到任何STM32設備
•在目標應用程序運行時,在RAM中實時讀取和寫入變量解析來自應用程序可執行文件的調試信息
•直接獲取模式或快照模式
•關注感興趣的應用行爲
•允許將數據記錄到文件中並重播以進行詳盡的分析
•通過可配置的顯示窗口(如曲線和方框)和大量的小部件(如儀表、條形圖和圖表)提供定製的可視化多探頭支持同時監控多個目標
•遠程監控,本機支持多格式顯示(PC、平板電腦、手機)
•直接支持Node-RED開放社區
•支持操作系統:Windows,Linux Ubuntu 和 macOS
(以上來自有道詞典翻譯,可能存在錯誤)
詳細可以參看文章:STM32CubeMonitor介紹、下載、安裝和使用教程
官網地址:
www.st.com/stm32cubemonitor
CubeMonitor擴展:
藉助Node-RED開放社區,STM32CubeMonitor可提供豐富的擴展功能,可參看:
https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor_tool_suite_overview
1.STM32CubeMonitor-RF
網址:
www.st.com/stm32cubemonrf
STM32CubeMonRF是STM32CubeMonitor-RF的縮寫,它是一款用於監測無線設備的工具,目前主要用於監測STM32WB與藍牙(BLE)和802.15.4設備的發送/接收性能。
2.STM32CubeMonitor-Pwwer
網址:
www.st.com/stm32cubemonpwr
STM32CubeMonPwr是STM32CubeMonitor-Power,是一款使開發人員能夠快速分析目標板低功耗性能的工具。
3.STM32CubeMonitor-UCPD
網址:
www.st.com/stm32cubemonucpd
STM32CubeMonUCPD是STM32CubeMonitor-UCPD,是一款用於監視和配置USB Type-C和Power Delivery應用程序的工具。
六、STM32CubeMCU Packages
STM32Cube生態的嵌入式軟件包種類繁多,但分類比較明確,下面通過一張圖來看下嵌入式軟件包應用結構圖:
MCU Packages即MCU軟件包,也是大家最常用、最熟悉的軟件包:
在STM32CubeMX軟件包管理器中可以進行查看和(刪除、增加)管理:
MCU軟件包還可以分兩類:
底層驅動HAL和LL
中間層Middlewares
其中中間層有ST自家的、也有第三方的,種類比較多,比如:FreeRTOS、 FatFS、 LwIP、 Open Bootloader、 Bluetooth 5 stack、 Zigbee 3 stack、 USB Host & Device stacks等。
通過一張圖全面瞭解MCU軟件包:
各包支持的情況:
七、STM32Expansion
STM32擴展包,也是STM32Cube生態系統其中的組成部分,STM32的擴展包有ST自家的,也支持第三方的擴展包。
比如:X-CUBE-AI、 X-CUBE-BLE1、 X-CUBE-NFC4······等很多很多。
下面進行分類一下:
同樣,可以在STM32CubeMX軟件包管理器中可以進行查看和(刪除、增加)管理:
八、總結
本文總結了STM32Cube生態目前(2020.10)所有的軟件工具內容,以及描述相關細節內容。
STM32Cube生態的軟件工具細節內容其實比較多,並不是所有都需要掌握,初學者可以從STM32CubeMX和MCU軟件包(HAL)開始學起,然後一步一步拓展。
1.第二屆國產嵌入式操作系統技術與產業發展論壇最新議程新鮮出爐!
6.重磅,傳AMD 300億美元洽購賽靈思!最早下週達成交易
免責聲明:本文系網絡轉載,版權歸原作者所有。如涉及作品版權問題,請與我們聯繫,我們將根據您提供的版權證明材料確認版權並支付稿酬或者刪除內容。