這是一個基於 FreeRTOS 的多執行緒 Wi-Fi 驅動程式模擬專案。 本專案模擬了 Host Driver (驅動層) 與 Firmware (韌體層) 之間的互動,並實作了生產者-消費者模型 (Producer-Consumer Model)。
- 雙任務通訊架構:模擬
Driver Task(負責 TX) 與Firmware Task(負責 RX) 之間的封包傳遞。 - 並發控制 (Concurrency Control):使用 FreeRTOS 的 Queue 與 Semaphore 來處理資料傳輸,防止 Race Condition。
- 臨界區保護 (Critical Section):模擬在處理關鍵資料時進行 中斷遮蔽 (IRQ Masking),確保資料的一致性。
本專案是基於 FreeRTOS 官方的 Posix_GCC 範例進行修改,因此需要依賴 FreeRTOS 的 Kernel 原始碼。
如何執行此專案:
- 下載官方 Repo:FreeRTOS/FreeRTOS
- 進入目錄:
FreeRTOS/Demo/Posix_GCC - 替換檔案:將本 Repo 中的所有檔案(
main.c,CMakeLists.txt等)複製並覆蓋到上述目錄中。 - 執行以下指令進行編譯與執行:
cmake -B build -S . -G "Unix Makefiles" make -C build -j ./build/WiFi_Sim