[STM32] Why STM32 ?
Why STM32 ?
從一開始接觸 Arduno 時,其實就注意到了 STM32 series MCU,但 STM32 開發版的價位,畢竟比 Arduino 官方販賣的開發版以及 ESP8266, ESP32 高了許多,所以 STM32 開發板還只是存在我的夢想清單而已,是接觸到 MicroPython 後,才決定將它放入購物車的。
採購 STM32 開發板的動機,MicroPython 只是一個觸發點而已,以下幾項應用才是我採購它的原因 ;列出的這些應用,甚至有幾項還是以 STM32 MCU 做為官方開發板的 。
STM32Cube
STM32duino
MicroPython
openmv
arm|MBED, Azure OS, FreeRTOS, Zephyr, …
STM32Cube :
這是 ST 官方提供的 C/ C++ 開發環境。Cube 開發環境的組成可以看以下這篇文章
這裡有一點想 Highlight,那就是 CubeIDE 是這些應用的開發環境中,最能完整發揮 MCU 控制/變化的;透過 ST-Link 還能做到 real-time debugging 功能 (SWD, JTAG),若你是 Advance User,這個開發環境是不能放掉的。
STM32duino :
這是 STM32 MCU 針對 Arduino 開發環境推出的套件,相對於 STM32Cube 開發環境,有較低的進入門檻;相反的,MCU 的功能也就無法被百分百的發揮了,但其實這也蠻符合 Arduino 易學的初衷,不是嗎 ? !
MicroPython :
這應用就不必我再多說了吧!不清楚的,可以看我這兩集的教學影片。
OpenMV :
這是 MicroPython 的一項延伸應用,以 MicroPython 為基底加上 "Machine Vision”algorithm 的 open source project。
arm|MBED, Azure OS, FreeRTOS, Zephyr :
這些都是有採用 ST series MCU 的專案;否值得投入?建議大家在評估時,可以參考 各專案在 GitHub 上的熱度。
STM32Fxxx or STM32Hxxx ?
至於 STM32 MCU 的選擇,個人建議從 F 以及 H series 中做選擇;只想玩 MicroPython 的,那就挑 F series,CPU、RAM 以及 ROM 的需求務必要大於 MicroPython 的最小需求。想玩 openMV 的,那就挑 H series 且有 hardware JPEG decode 功能的。
這是我挑選的板子 :
Nucleo-144 MCU Development Board - NUCLEO-F767ZI