博客專(zhuān)欄

EEPW首頁(yè) > 博客 > RK3568驅(qū)動(dòng)指南|第一篇 驅(qū)動(dòng)基礎(chǔ)-第2章 你好!內(nèi)核源碼

RK3568驅(qū)動(dòng)指南|第一篇 驅(qū)動(dòng)基礎(chǔ)-第2章 你好!內(nèi)核源碼

發(fā)布人:紅李亞 時(shí)間:2024-02-05 來(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、云終端、車(chē)載中控等行業(yè)。
【公眾號(hào)】迅為電子
【B站視頻搜索】嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)(第一篇 驅(qū)動(dòng)基礎(chǔ)_全新升級(jí))_基于RK3568
第2章 你好!內(nèi)核源碼
本章我們來(lái)認(rèn)識(shí)Linux內(nèi)核源碼,開(kāi)始真正進(jìn)入到驅(qū)動(dòng)的世界里面,不知道各位小伙伴們有沒(méi)有做好準(zhǔn)備呢?
2.1 初識(shí)內(nèi)核源碼
Linux內(nèi)核源碼的官方網(wǎng)站為https://www.kernel.org/,可以在該網(wǎng)站下載最新的Linux內(nèi)核源碼。進(jìn)入該網(wǎng)站之后如下圖(圖2-1)所示:

從上圖(圖1)可以看到多個(gè)版本的內(nèi)核分支,分別為主線(xiàn)版本(mainline)、穩(wěn)定版本(stable)和長(zhǎng)期支持版本(longterm)。以上各個(gè)支線(xiàn)和主線(xiàn)是由linus torvalds(Linux之父)所領(lǐng)導(dǎo)。半導(dǎo)體廠(chǎng)商和一些內(nèi)核愛(ài)好者會(huì)在官網(wǎng)下載相應(yīng)版本的內(nèi)核源碼,對(duì)該源碼進(jìn)行打補(bǔ)丁等操作。以此讓官網(wǎng)的內(nèi)核源碼可以在半導(dǎo)體廠(chǎng)家設(shè)計(jì)的主控(CPU)上跑起來(lái),所以在開(kāi)發(fā)和學(xué)習(xí)的過(guò)程中,我們并不會(huì)直接去Linux內(nèi)核官網(wǎng)下去下載源碼,而且是使用半導(dǎo)體廠(chǎng)家提供的源碼包。

但是不論是Linux官網(wǎng)的內(nèi)核源碼還是半導(dǎo)體廠(chǎng)家提供的內(nèi)核源碼不影響我們來(lái)看它的廬山真面目!作者下載了Linux官方網(wǎng)站的4.19.262分支源碼,下載好的源碼存放在“iTOP-RK3568開(kāi)發(fā)板【底板V1.7版本】\03_【iTOP-RK3568開(kāi)發(fā)板】指南教程\02_Linux驅(qū)動(dòng)配套資料\01_Linux內(nèi)核官方源碼”如下圖(圖2-2)所示:

將Linux內(nèi)核官方源碼拷貝到虛擬機(jī)ubuntu上如下圖(圖2-3)所示:

使用以下命令對(duì)內(nèi)核官方源碼進(jìn)行解壓,解壓完成如下圖(圖2-4)所示:

解壓完成后我們會(huì)看到非常多的文件夾,這些文件夾放的就是Linux內(nèi)核源碼,在下一小節(jié)中作者來(lái)介紹Linux內(nèi)核源碼的結(jié)構(gòu)和每個(gè)目錄的作用。


目錄的內(nèi)容如下表(表2-6)所示:

2.3 編譯內(nèi)核源碼

本小節(jié)使用的內(nèi)核源碼是半導(dǎo)體廠(chǎng)家提供的內(nèi)核源碼,是我們學(xué)習(xí)和開(kāi)發(fā)要使用的內(nèi)核源碼。在進(jìn)行驅(qū)動(dòng)學(xué)習(xí)之前需要將此內(nèi)核源碼編譯成功。

內(nèi)核源碼存放路徑為“iTOP-RK3568開(kāi)發(fā)板【底板V1.7版本】\03_【iTOP-RK3568開(kāi)發(fā)板】指南教程\02_Linux驅(qū)動(dòng)配套資料\02_Linux_SDK源碼”,將對(duì)應(yīng)目錄下的內(nèi)核源碼拷貝到虛擬機(jī)ubuntu目錄下,如下圖(圖2-7)所示:

注:編譯環(huán)境使用的是迅為搭建好的編譯環(huán)境,迅為的環(huán)境經(jīng)過(guò)測(cè)試在不進(jìn)行修改的前提下,可以直接將內(nèi)核源碼編譯通過(guò)。

使用以下命令對(duì)內(nèi)核源碼的進(jìn)行解壓,解壓完成如下圖(圖2-8)所示:

使用“cd linux_sdk”命令進(jìn)入內(nèi)核源碼目錄,如下圖(圖2-9)所示:

使用命令“./build.sh kernel”進(jìn)行內(nèi)核源碼的編譯,編譯過(guò)程如下圖(圖2-10)所示:

編譯時(shí)間和電腦虛擬機(jī)配置相關(guān),編譯完成如下圖(圖2-11)所示:

通過(guò)對(duì)內(nèi)核源碼官網(wǎng)的探索,內(nèi)核源碼的目錄結(jié)構(gòu)講解以及內(nèi)核源碼的編譯。我相信大家對(duì)Linux內(nèi)核源碼應(yīng)該有了一個(gè)初步的認(rèn)識(shí)了。下一章我們來(lái)學(xué)習(xí)第一個(gè)驅(qū)動(dòng)helloworld。


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



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

相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉