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介紹、下載安裝,配置生成代碼,在線調試四、STM32CubeProgmmerSTM32CubeProgmmer之前也有一段很長的歷史,早期的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中實時讀取和寫入變量解析來自應用程序可執行文件的調試信息
?直接獲取模式或快照模式
?關注感興趣的應用行為
?允許將數據記錄到文件中并重播以進行詳盡的分析
?通過可配置的顯示窗口(如曲線和方框)和大量的小部件(如儀表、條形圖和圖表)提供定制的可視化多探頭支持同時監控多個目標
?直接支持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 PackagesSTM32Cube生態的嵌入式軟件包種類繁多,但分類比較明確,下面通過一張圖來看下嵌入式軟件包應用結構圖:
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)開始學起,然后一步一步拓展。
責任編輯:lq
-
STM32
+關注
關注
2266文章
10871瀏覽量
354800 -
生態系統
+關注
關注
0文章
701瀏覽量
20709
原文標題:全面解讀STM32生態環境,介紹、下載安裝、使用教程等
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論