山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2020年12月20日

[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 開發環境的組成可以看以下這篇文章

STM32 Software Tools

這裡有一點想 Highlight,那就是 CubeIDE 是這些應用的開發環境中,最能完整發揮 MCU 控制/變化的;透過 ST-Link 還能做到 real-time debugging 功能 (SWD, JTAG),若你是 Advance User,這個開發環境是不能放掉的。


STM32duino : 

這是 STM32 MCU 針對 Arduino 開發環境推出的套件,相對於 STM32Cube 開發環境,有較低的進入門檻;相反的,MCU 的功能也就無法被百分百的發揮了,但其實這也蠻符合 Arduino 易學的初衷,不是嗎 ? !


MicroPython : 

這應用就不必我再多說了吧!不清楚的,可以看我這兩集的教學影片。

MicroPython 開發環境

Should I Learn 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







 


熱門文章