語音已經是人機介面的一等公民。手機助理、車載系統、智慧音箱證明了一件事: 當「說話」比「按按鈕」更自然時,嵌入式產品就必須同時懂即時控制與 感知推論。本課程不把這兩件事拆開教——我們用一個真實產品把它們接起來。

為什麼是 STM32 + FreeRTOS + 語音。

STM32 是華語圈與業界最常見的 Cortex-M 平台,HAL 與 CubeMX 降低了啟動門檻, 卻仍保留暫存器級的能見度。FreeRTOS 是嵌入式即時系統的事實標準:任務、佇列、 信號量、事件組足以支撐語音管線這種「週期擷取 + 突發推論 + 非同步控制」的 工作型態。語音則是把學員從「會閃 LED」推進到「系統會聽、會判斷、會動作」 的最佳載體。

兩條語音路徑,同一套 RTOS 骨架。

現場硬體與算力差異很大。本課程同時支援:

  • 路徑 A(建議入門):外部語音模組(UART,例如 CI-03T、ASRPRO 或 Gravity 離線語音模組)負責喚醒與指令辨識,STM32 專職即時控制。

  • 路徑 B(進階):板上 I2S 麥克風 + DMA + X-CUBE-AI,在 STM32H7/F7 上跑關鍵詞偵測(KWS)與小型指令分類。

兩條路徑共用同一套指令協定、設備狀態機與 FreeRTOS 任務拓撲。學完路徑 A 再換路徑 B,不需要重寫產品邏輯。第 13 章另補上路徑 C(智慧助理): Siri、Alexa 與 OK Google 經 HomeKit/區網模擬/Matter 或 Home Assistant 閘道下指令——喚醒與辨識由手機或音箱代勞,STM32 端只多一個 Gateway 任務, 指令佇列與安全策略原封不動。

怎麼使用這本教材。

每一章都對應 firmware/ 底下的一個實驗專案。建議流程是:先讀觀念與 架構圖,再對照程式碼註解,最後在開發板上跑實驗並完成章末練習。完整專案在 firmware/voice_home_final/,它把第 3 章到第 12 章的模組組裝成 可出貨雛形。

你不會在這本書裡看到的東西。

我們不複製 STM32Cube 產生的數千行初始化碼,也不重貼 FreeRTOS 核心原始檔。 教材寫的是你必須理解並親自維護的應用層:任務、驅動包裝、協定、狀態機 與產品化機制。CubeMX 設定步驟會寫清楚,產生檔請以你的工程為準。

官方延伸。

ST 已公開 FreeRTOS 移植、X-CUBE-FREERTOS、FP-AI-VISION1、X-CUBE-AI 音訊 範例與 STM32Cube.AI 開發流程。第 9 章與附錄 B 會對照這些套件,方便學員在 課程結束後繼續往官方生態走。

開始之前,請確認你能用 C 寫出函式、指標與結構體,並知道什麼是 中斷。其餘——從時鐘樹到 OTA——我們會一步步做完。