博客專欄

EEPW首頁(yè) > 博客 > RK3568驅(qū)動(dòng)指南|第二篇 字符設(shè)備基礎(chǔ)-第8章 驅(qū)動(dòng)模塊編譯進(jìn)內(nèi)核實(shí)驗(yàn)

RK3568驅(qū)動(dòng)指南|第二篇 字符設(shè)備基礎(chǔ)-第8章 驅(qū)動(dòng)模塊編譯進(jìn)內(nèi)核實(shí)驗(yàn)

發(fā)布人:紅李亞 時(shí)間:2024-03-11 來(lái)源:工程師 發(fā)布文章
瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工藝,搭載一顆四核Cortex-A55處理器和Mali G52 2EE 圖形處理器。RK3568 支持4K 解碼和 1080P 編碼,支持SATA/PCIE/USB3.0 外圍接口。RK3568內(nèi)置獨(dú)立NPU,可用于輕量級(jí)人工智能應(yīng)用。RK3568 支持安卓 11 和 linux 系統(tǒng),主要面向物聯(lián)網(wǎng)網(wǎng)關(guān)、NVR 存儲(chǔ)、工控平板、工業(yè)檢測(cè)、工控盒、卡拉 OK、云終端、車載中控等行業(yè)。
第8章 驅(qū)動(dòng)模塊編譯進(jìn)內(nèi)核實(shí)驗(yàn)
通過(guò)上一章的學(xué)習(xí),我們學(xué)會(huì)了使用menuconfig圖形化配置工具,以及了解了menuconfig相關(guān)的文件:Kconfig .config XXXdefconfig。本章節(jié)學(xué)習(xí)將helloworld驅(qū)動(dòng)編譯進(jìn)內(nèi)核。
輸入“cd drivers/char”進(jìn)入到 drivers/char 目錄下,然后輸入“mkdir hello”建立hello文件夾,并輸入“cd hello”進(jìn)入hello文件夾,如下(圖8-1)所示:

然后將第三章編寫的hello.c文件拷貝到hello文件夾內(nèi)。如下(圖8-2)所示:

輸入“touch Kconfig”命令創(chuàng)建Kconfig文件,Kconfig文件內(nèi)容如下所示:

然后“touch Makefile”命令創(chuàng)建Makefile文件,Makefile文件內(nèi)容如下所示:

obj-$(CONFIG_HELLO)+=helloworld.o

接下來(lái)修改上一級(jí)目錄的Kconfig文件和Makefile文件,也就是driver/char目錄。Makefile添加如下圖(圖8-3)所示內(nèi)容。

obj-y += hello/

Kconfig添加如下圖(圖8-4)所示內(nèi)容:

source “drivers/char/hello/Kconfig”

最后打開menuconfig圖形化配置工具,在配置界面選擇helloworld驅(qū)動(dòng)。把驅(qū)動(dòng)編譯進(jìn)Linux內(nèi)核,用 * 來(lái)表示,所以配置選項(xiàng)改為*。如果想要將驅(qū)動(dòng)編譯為模塊,則用M來(lái)表示,配置選項(xiàng)改為M。這里我們選擇成 *

然后將光標(biāo)移動(dòng)到save,保存配置,如下圖(圖8-6)所示:

保存到.config文件,如下(圖8-7)所示:

退出配置界面,然后輸入以下命令便可以編譯源碼了。

編譯成功之后,進(jìn)入到drivers/char/hello目錄下,可以看到會(huì)生成對(duì)應(yīng)的.o文件。就說(shuō)明已經(jīng)成功將驅(qū)動(dòng)編譯進(jìn)內(nèi)核。

將編譯好的內(nèi)核鏡像燒寫到開發(fā)板上后,在開發(fā)板系統(tǒng)啟動(dòng)的時(shí)候也可以成功看到加載helloworld驅(qū)動(dòng),如下圖(圖8-10)所示:

如果在圖形化配置界面中選擇的M,也就是編譯成驅(qū)動(dòng)模塊,則生成helloworld.ko文件如下圖(圖8-11)所示:

更多內(nèi)容:可以關(guān)注北京迅為公眾號(hào),B站搜索迅為RK3568開發(fā)板



*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: 開發(fā)板

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉