我司IAC-RK3568-Kit基于Linux4.19.232,搭載BuildRoot或Debian10操作系統(tǒng)。通常我們在使用外圍設(shè)備模塊時(shí)需要編譯對應(yīng)的驅(qū)動,如USBWIFI、USBBT等,那這里就以我司IAC-RK3568-Kit開發(fā)板為例,分享如何在當(dāng)前內(nèi)核下編譯第三方驅(qū)動模塊。
我們需要向模塊供應(yīng)商拿到一份適配Linux的驅(qū)動源碼,這里主要是要向供應(yīng)商確認(rèn)驅(qū)動所適配的內(nèi)核版本,若驅(qū)動版本大于內(nèi)核版本,那編譯時(shí)就會報(bào)錯(cuò)缺少相關(guān)頭文件以及相關(guān)庫函數(shù),所以在編譯之前請確認(rèn)是否符合要求小于內(nèi)核版本。
這里以USB網(wǎng)卡rtl8821CU為例,供應(yīng)商提供驅(qū)動代碼如下圖所示:

這里主要包含了一些常用工具以及驅(qū)動源碼和編譯配置文件Makefile。重要的是Makefile文件,打開Makefile文件,如下圖所示(截取一部分):

關(guān)注以下關(guān)鍵信息,如WIFIIC,CONFIG_RTL8821C等,默認(rèn)情況下硬件配置信息根據(jù)所購買的模塊驅(qū)動都已經(jīng)配置好,如IC、Interface等,我們只需要大致看一眼沒有明顯錯(cuò)誤即可,重要的還是驅(qū)動配置。
驅(qū)動配置主要是選擇平臺,這里分為Android與Linux。注意區(qū)別不同平臺,Android和Linux平臺在編譯的時(shí)候所依賴的頭文件不同,我們是Linux的,那么就選擇Linux平臺即可,如下圖所示:

根據(jù)所選平臺配置,查看詳細(xì)配置,如下圖所示:

這里是默認(rèn)的配置,需要將其改為我們自己的路徑,改完之后如下圖所示:

主要是修改ARCH架構(gòu),KSRC源碼路徑以及CROSS_COMPILE交叉編譯器。配置修改完成之后只需要聲明編譯器就可開始編譯。IAC-RK3568-Kit的內(nèi)核編譯器在sdk中,具體位置如下圖所示:

那我們聲明一下編譯器,命令如下:

聲明之后就可以在驅(qū)動源碼路徑下執(zhí)行make命令編譯,編譯成功后會生成對應(yīng)的.ko驅(qū)動模塊文件,這個(gè)文件就是加載到kernel的驅(qū)動文件了。
-
驅(qū)動
+關(guān)注
關(guān)注
12文章
1878瀏覽量
86346 -
Linux
+關(guān)注
關(guān)注
87文章
11420瀏覽量
212319 -
RK3568
+關(guān)注
關(guān)注
5文章
562瀏覽量
5922
發(fā)布評論請先 登錄
相關(guān)推薦
Labview如何內(nèi)嵌操作第三方EXE程序!
如何把第三方庫加到PROTEUS中?
第三方dll調(diào)用問題?。?!
LabVIEW與第三方軟件交互問題
國內(nèi)知名第三方檢測認(rèn)證機(jī)構(gòu)排名
頭文件中包含第三方文件
在Framework下調(diào)用第三方的C++算法庫
銀行和第三方支付:戀愛進(jìn)行時(shí)
第三方腳本成為網(wǎng)絡(luò)攻擊“重災(zāi)區(qū)”,多管齊下防范第三方腳本安全隱患
技術(shù)分享 | RK3568開發(fā)板 buildroot編譯配置

RK3568 編譯sdk技巧

RK3568驅(qū)動指南|第三篇-并發(fā)與競爭-第19章 并發(fā)與競爭實(shí)驗(yàn)

評論