該文主要記錄為 BL808 BSP 添加 GPIO 驅(qū)動時踩到的一些坑及解決方案。這是我第一次對接 RT-Thread BSP 的驅(qū)動,整理出本文避免之后踩到同樣的坑,也希望能幫助到和我一樣的新手。如有描述不當(dāng)和不足的地方,還望大家指出和補(bǔ)充,一起交流學(xué)習(xí)。
構(gòu)建該項目最好在 Linux 環(huán)境,能夠避免大部分奇怪的問題,這里推薦使用 WSL ,因為筆者是 Linux 菜鳥,而且 WSL 和 windows 之間文件傳輸比較方便。
工具鏈需要在 WSL 中解壓 tar -xvf ,不能在 windows 中解壓后傳入 WSL ,不同環(huán)境下解壓出來的文件會有問題
可以使用如下命令指定工具鏈并進(jìn)行構(gòu)建(需要提前在 Linux 環(huán)境中配置好 scons 等,可以參考 RT-Thread BSP BL808 中的 READme )
scons --exec-path=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1/bin
export RTT_EXEC_PATH=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1/bin
scons
如果使用的是 WSL ,可以在命令行中運(yùn)行code .命令,即可通過VS code進(jìn)行開發(fā),前提是windows中已經(jīng)安裝了VS code
gpio的驅(qū)動我主要調(diào)用了m0librariesplatformsocbl808bl808_e907_stdbl808_bsp_driverhal_drvsrchal_gpio.c這里面的函數(shù)(后續(xù)并沒有直接使用 hal 中封裝的函數(shù),因為太多層的封裝可能會降低效率)
需要在 board.c 文件中添加以下代碼:
/* GPIO driver initialization is open by default */
#ifdef RT_USING_PIN
rt_hw_pin_init();
#endif
//這樣才調(diào)用了drv_gpio.c中定義的rt_hw_pin_init()函數(shù)
在m0driversSConscript中添加以下代碼:
if GetDepend('RT_USING_PIN'):
src += ['drv_gpio.c']
//這樣drv_gpio.c才加入到了編譯中
在m0librariesSConscript中添加相應(yīng)路徑(如果調(diào)用的頭文件,以及需要編譯的 .c 文件不包含在 SConscript 中,需要自行添加)
808能識別到兩個usb converter設(shè)備 但是識別不到串口設(shè)備,重新燒寫702的固件也沒用,最后的解決辦法是在設(shè)備管理器中右擊對應(yīng)的USB設(shè)備,選擇屬性,進(jìn)入高級設(shè)置,勾選vcp,刷新后出現(xiàn)串口。進(jìn)入下載模式是先上電,然后同時按住RST和BOOT按鍵,然后先松開RST,再松開BOOT即可。
最后提交PR的時候需要注意格式問題:注釋使用/**/,最后用自動化軟件刷一下格式。
-
驅(qū)動器
+關(guān)注
關(guān)注
54文章
8655瀏覽量
149595 -
USB設(shè)備
+關(guān)注
關(guān)注
0文章
57瀏覽量
16666 -
GPIO
+關(guān)注
關(guān)注
16文章
1279瀏覽量
53882 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1393瀏覽量
41726 -
HAL庫
+關(guān)注
關(guān)注
1文章
121瀏覽量
6853
發(fā)布評論請先 登錄
BL808 RT-Thread Wi-Fi 驅(qū)動適配

BL808 RT-Thread Wi-Fi驅(qū)動適配
嵌入式linux驅(qū)動對gpio的基本操作
以rk808驅(qū)動為例子講解i2c regmap方式讀寫
記錄BL808 BSP添加GPIO驅(qū)動時踩到的一些坑及解決方案
NUC972如何添加LED驅(qū)動leds_gpio?
簡要分析Thread的通用GPIO設(shè)備驅(qū)動
LINUX GPIO如何驅(qū)動源碼移植

嵌入式Linux驅(qū)動 GPIO操作 包括驅(qū)動和應(yīng)用層程序?qū)?b class='flag-5'>驅(qū)動進(jìn)行測試

博流BL808三核編譯運(yùn)行上手指南

【北京迅為】iTOP-RK3568OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)GPIO基礎(chǔ)知識

迅為RK3568驅(qū)動指南GPIO子系統(tǒng) GPIO操作函數(shù)實驗

迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

評論