ARM Cortex處理器屬於ARMv7架構,如圖1-1,分為Cortex-A、Cortex-R和Cortex-M三子系列。Cortex-A是一種應用處理器(application processor),它是針對高效能應用平台系統而設計,通常用於行動運算、智慧型手機、高能效伺服器等。Cortex-R是一種即時處理器(real-time processor),其設計強化了即時應用系統的性能與可靠度,適用於硬碟控制器、汽車傳動系統和無線通訊的基頻控制等領域。Cortex-M是一種微控制處理器(microcontroller processor),專門用於嵌入式微控制領城,具有高成本效益比的優勢,通常用於智能電表、穿戴式裝置、汽車與工業控制系統、消費電子產品和物聯網等。
本書選擇一款STMicroelectronics(義法半導體)STM32L476G-DISCO探索板作為開發平台(如圖1-2),此探索板含有STM32L476VG超低功耗微控制器與豐富的周邊介面,如LCD顯示器、LED、音訊DAC、麥克風、慣性感測器(陀螺儀、加速度計、指南針)、搖桿、USB OTG及四路SPI快閃記憶體。其中,STM32L476VGT6微控制器(如圖1-3)是基於高性能ARM Cortex-M4F 32位元RISC內核的超低功耗微控制器,工作頻率高達80 MHz,100 DMIPS性能,Cortex-M4F內核具有單精確度浮點單元(floating point unit, FPU),支援多有ARM單精確度資料處理指令和資料類型,嵌入高速記憶體(1MB快閃記憶體,128KB SRAM)。此探索板售價在臺幣1000元以下,讀者可於以下網站購得。
ARM Cortex-M架構,依照系統功能需求分成M0至M4與M7的等級,Cortex-M0用於初階8/16位元應用,Cortex-M3針對中階的16/32位元應用,Cortex-M4主打高階32位元與數位信號控制應用,而Cortex-M7是Cortex-M家族最新和最高性能的處理器內核,適合用於旗艦級消費者、工業、醫療和物聯網(IoT)設備。因此,Cortex-M處理器家族包含各式功能的處理器類型來滿足不同的需求。