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

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

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

根據所選平臺配置,查看詳細配置,如下圖所示:

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

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

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

聲明之后就可以在驅動源碼路徑下執行make命令編譯,編譯成功后會生成對應的.ko驅動模塊文件,這個文件就是加載到kernel的驅動文件了。
-
驅動
+關注
關注
12文章
1878瀏覽量
86335 -
Linux
+關注
關注
87文章
11420瀏覽量
212308 -
RK3568
+關注
關注
5文章
562瀏覽量
5917
發布評論請先 登錄
相關推薦
Labview如何內嵌操作第三方EXE程序!
LabVIEW與第三方軟件交互問題
國內知名第三方檢測認證機構排名
頭文件中包含第三方文件
在Framework下調用第三方的C++算法庫
第三方腳本成為網絡攻擊“重災區”,多管齊下防范第三方腳本安全隱患
技術分享 | RK3568開發板 buildroot編譯配置

RK3568 編譯sdk技巧

評論