使用 Unity 和 Ceedling 建立可重複使用的嵌入式 C 模組,並透過基於主機的單元測試驗證韌體。
從這 2.5 小時的課程,你會學到
- 設計具有清晰 API 和可預測行為的可重複使用嵌入式 C 模組
- 使用 Unity 和 Ceedling 建立基於主機的測試工作流程
- 在主機上編寫並執行嵌入式 C 程式碼的單元測試
- 實作核心嵌入式元件,包括環形緩衝區、佇列和事件分發器
- 使用事件驅動設計和表驅動狀態機構建立嵌入式系統
- 將模組整合到具有工作應用程式循環的完整事件驅動系統中
- 使用靜態記憶體分配建構確定性系統
- 透過全面的單元測試驗證行為並處理邊界情況
- 將這些模式應用於實際的嵌入式用例,例如驅動程式、日誌記錄和通訊系統
要求
- 具備C語言程式設計基礎(函數、指標、結構體)
- 熟悉嵌入式系統概念(例如中斷、週邊或韌體結構)
- 有使用頭檔/原始檔和模組化C程式碼的經驗
課程說明
本課程包含人工智慧的應用。
(僅用於輔助視覺效果,例如幻燈片佈局。所有教學內容、代碼和講解均由講師創作。)
課程描述
大多數嵌入式系統起初都很簡單,但很快就會變得難以測試、擴展和維護。
本課程著重於透過建立可重複使用的嵌入式 C 模組並使用基於主機的單元測試對其進行驗證來解決這些問題。
課程內容
您將建立一組實用的嵌入式元件,並了解它們如何在一個清晰的事件驅動系統中協同工作。
重點內容:
- Reusable design
- Predictable behavior
- Proper verification
所有測試均在主機上使用 Unity 和 Ceedling 完成,因此您無需硬體即可驗證韌體邏輯。
您將建立的內容
在整個課程中,您將使用核心嵌入式建置模組,包括
- 位元( Bit )和暫存器欄位( register field )輔助函數
- 環形緩衝區(確定性、串流安全)
- 固定大小佇列(無動態分配)
- 事件分發器(ID 到處理程序的路由)
- 基於表的有限狀態機
- 整合事件驅動型迷你系統
每個模組包含:
- 靜態分配
- 確定性
- 經過邊界狀況測試
- 設計用於復用
測試方法
每個組件都會在主機上透過單元測試進行驗證。
這包括:
- 驗證正常行為
- 處理極端情況
- 測試故障條件
- 驗證組件間的整合
您也會看到用例式測試和系統級流程,從而清楚地了解每個元件在實際應用中的運作方式。
本課程的獨特之處
這不是一門「跟著程式碼打」的程式設計課程。
課程重點在於:
- 理解實際應用
- 正確地測試系統行為
- 了解系統中各個組件的互動方式
目標不僅是編寫程式碼,更是建立可重複使用且值得信賴的元件。
為什麼基於主機的測試至關重要
大多數嵌入式邏輯並不需要硬體進行驗證。
透過在電腦上進行測試,您可以:
- 加快迭代速度
- 儘早發現異常狀況
- 在部署前提升程式碼品質
這種工作流程在專業嵌入式開發中被廣泛使用,但在傳統課程中卻常常缺乏。
您將收穫什麼
完成本課程後,您將能夠:
- 設計具有簡潔 API 的可重複使用嵌入式 C 模組
- 使用事件驅動模式建立韌體
- 使用 Unity 和 Ceedling 編寫並執行單元測試
- 在主機上驗證行為,包括邊界情況
- 將組件整合到完整的工作系統中
目標受眾
- 希望改進程式碼結構、提高程式碼復用性和可測試性的嵌入式 C 開發人員
- 希望在不依賴硬體的情況下對韌體進行單元測試的開發人員
- 建構使用佇列、狀態機或事件驅動設計的系統的工程師
講師簡介
Kevin Aguilar 嵌入式軟體工程師
具備豐富的嵌入式軟體開發經驗,擅長工業系統、電氣保護產品、電動車充電和工業物聯網設備的韌體開發。
我的經驗涵蓋 ESP32、STM32、dsPIC、連接性、驅動程式和嵌入式應用開發。
我主要使用 C 語言開發基於微控制器的系統,並樂於透過專案和教學分享嵌入式系統的實用知識。
我創建這些課程旨在透過實際案例和動手開發,幫助他人學習嵌入式系統。
字幕:英文
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 ⏳NT310 起特價中(點擊看優惠)
- ✨年訂閱每月 NT350 🌈悠遊 Udemy 的 28000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- 嵌入式系統相關線上課程
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 從 Soft & Share 各種社團頻道挑選你喜歡的加入
發表迴響