概述
WHD是一個獨立的嵌入式Wi-Fi主機驅動程序,它提供了一組與英飛凌WLAN芯片交互的api。WHD是一個獨立的固件產品,可以很容易地移植到任何嵌入式軟件環境,包括流行的物聯網框架。因此,WHD包含了RTOS和TCP/IP網絡抽象層的鉤子。
該存儲庫已將WHD適應于RT-Thread系統,目前僅支持SDIO總線協議,并使用RT-Thread的mmcsd進行SDIO總線操作。
歡迎大家PR支持更多總線接口和芯片。
使用
在軟件包選中 Wifi-Host-Driver(WHD) for RT-Thread
軟件包配置
注意
SDIO驅動需要支持數據流傳輸,在RT-Thread的bsp中,大多數芯片都未適配數據流傳輸的功能。
Cortex-M4內核需要軟件來計算CRC16并在數據后面發送它。
對于Cortex-M7內核,只需要修改drv_sdio.c文件的一處地方即可,示例如下:
資源下載(該項目默認使用內部資源,可跳過這一步驟)
WiFi固件儲存到代碼區域中,固件會變的很大,燒錄很慢,影響調試進度!
通過FAL組件外部加載固件以及CLM文件,這樣MCU固件就能縮減很多,燒錄也會快很多!
可以通過ymodem協議下載資源文件。驅動會使用FAL組件來加載資源文件。
資源下載功能依賴于ymodem組件,請確保打開RT_USING_RYM和WHD_RESOURCES_IN_EXTERNAL_STORAGE宏定義。
在終端上執行whd_res_download命令開始下載資源。
該命令需要輸入資源文件的分區名。
下載資源文件的實例(使用默認分區名,輸入自己的分區名):
ymodem可以使用xshell工具,在完成命令輸入后,等待xshell啟動文件傳輸。
此時,在xshell中右鍵單擊鼠標,選擇文件傳輸到使用ymodem發送。
在whd的resources(wifi-host-driver/WiFi_Host_Driver/resources)目錄下,選擇對應芯片的資源文件。
傳輸完成后,msh將輸出如下日志:
下載完固件和clm資源文件后,復位重啟即可正常加載資源文件。
芯片支持
‘x’ 表示不支持
‘o’ 表示已測試和支持
‘*’ 理論上支持,但未經過測試
ART-PI測試
ART-PI可以使用英飛凌cyw43438 Wi-Fi模塊進行該驅動測試
所有該驅動可以使用ART-PI開發板進行測試,可以參考ART-PI RT-Thread WiFi-Host-Driver(https://github.com/Evlers/art-pi_rt-thread)項目
HPM6880和GD32F470的測試
GD32的測試代碼后期我會上傳至GitHub倉庫
GD32F470 + CYWL6208模組(芯片CYW43438)
GD32F470 + CYWL6302模組(芯片CYW43012)
HPM6880 + CYWL6302模組(芯片CYW43012)
-
英飛凌
+關注
關注
66文章
2188瀏覽量
138724 -
驅動程序
+關注
關注
19文章
836瀏覽量
48038 -
RT-Thread
+關注
關注
31文章
1289瀏覽量
40130
發布評論請先 登錄
相關推薦
評論