嵌入式Linux新手入門(mén):為什么迅為RK3568+迅為資料是黃金組合
新人必看:想玩轉(zhuǎn)RK3568,但糾結(jié)買哪家?作為開(kāi)發(fā)板,板卡只是半成品,“板卡+保姆級(jí)資料”才是你能握在手里的完整武器!
嵌入式Linux驅(qū)動(dòng)的學(xué)習(xí)路徑:手持迅為攻略的“開(kāi)圖玩家”
你手里的不是一堆PDF和視頻,而是一張清晰的“驅(qū)動(dòng)開(kāi)發(fā)藏寶圖”。你的學(xué)習(xí)路徑是這樣的:
【一】從開(kāi)機(jī)到驅(qū)動(dòng)“HelloWorld”
1:跟著《入門(mén)指南》成功啟動(dòng)系統(tǒng),看到串口日志。
2:參照文檔搭建編譯環(huán)境,成功編譯官方提供的第一個(gè)內(nèi)核。
3:將自己編譯的系統(tǒng)燒錄進(jìn)板子,并讓一個(gè)LED燈閃爍起來(lái)。成就達(dá)成!
【二】攻克字符設(shè)備驅(qū)動(dòng)與設(shè)備樹(shù)
1:跟著《第19章字符設(shè)備驅(qū)動(dòng)框架實(shí)驗(yàn)》和《第25章點(diǎn)亮LED燈實(shí)驗(yàn)》,親手寫(xiě)出按鍵驅(qū)動(dòng),并成功在應(yīng)用層控制。
2:學(xué)習(xí)《第62-68章設(shè)備樹(shù)系列實(shí)驗(yàn)》,從語(yǔ)法到實(shí)例,徹底看懂驅(qū)動(dòng)如何從設(shè)備樹(shù)中獲取硬件資源。
3:你已經(jīng)能獨(dú)立完成一個(gè)“按鍵控制LED”的綜合項(xiàng)目,對(duì)驅(qū)動(dòng)框架和設(shè)備樹(shù)有了清晰理解。
【三】向高級(jí)驅(qū)動(dòng)工程師邁進(jìn)
研究《第46-56章中斷與工作隊(duì)列》,處理更復(fù)雜的異步事件。
動(dòng)手《第121-128章pinctrl子系統(tǒng)》和《第129-137章GPIO子系統(tǒng)》,掌握現(xiàn)代內(nèi)核引腳管理的標(biāo)準(zhǔn)方法。
開(kāi)始嘗試移植復(fù)雜外設(shè),內(nèi)核源碼在你眼中不再是一座孤島,而是有地圖的寶藏。
跟著迅為學(xué)習(xí)路徑:信心爆棚,每天都在解鎖新成就,學(xué)習(xí)路徑清晰可見(jiàn)。

《北京迅為itop-3568開(kāi)發(fā)板驅(qū)動(dòng)開(kāi)發(fā)指南(重制版)》
- helloworld 驅(qū)動(dòng)實(shí)驗(yàn)
本章編寫(xiě)第一個(gè)驅(qū)動(dòng)程序helloworld,并講解Linux驅(qū)動(dòng)基本框架。
2.1 驅(qū)動(dòng)編寫(xiě)
本小節(jié)來(lái)編寫(xiě)一個(gè)最簡(jiǎn)單的驅(qū)動(dòng)——helloworld驅(qū)動(dòng)。其程序helloworld.c代碼如代碼清單
2.1所示.
代碼清單2.1

2.2 驅(qū)動(dòng)基本框架
Linux驅(qū)動(dòng)的基本框架由模塊加載函數(shù),模塊卸載函數(shù),模塊許可證聲明,模塊參數(shù),模
塊導(dǎo)出符號(hào),模塊作者信息等幾部分組成,我們先來(lái)看一下這幾個(gè)部分的作用。
1模塊加載函數(shù)(驅(qū)動(dòng)入口函數(shù))
當(dāng)加載驅(qū)動(dòng)模塊時(shí),內(nèi)核會(huì)執(zhí)行模塊加載函數(shù),完成模塊加載函數(shù)中的初始化工作。
2模塊卸載函數(shù)(驅(qū)動(dòng)出口函數(shù))
當(dāng)卸載驅(qū)動(dòng)模塊時(shí),內(nèi)核會(huì)執(zhí)行模塊卸載函數(shù),完成模塊卸載函數(shù)中的退出工作。
3模塊許可證聲明
許可證聲明描述了內(nèi)核模塊的許可權(quán)限,如果不聲明模塊許可,模塊在加載的時(shí)候,會(huì)收到“內(nèi)核被污染(kernel tainted)”的警告。可接受的內(nèi)核模塊聲明許可有“GPL”“GPL v2” 等。
4模塊參數(shù)(可選擇)
內(nèi)核模塊參數(shù)是模塊被加載的時(shí)候可以傳遞給它的值。
5模塊導(dǎo)出符號(hào)(可選擇)
內(nèi)核模塊可以導(dǎo)出的符號(hào),導(dǎo)出符號(hào)以后其他內(nèi)核模塊可以使用本模塊中的變量或函數(shù)。
6模塊作者信息等說(shuō)明(可選擇)
其中模塊參數(shù),模塊導(dǎo)出符號(hào),模塊作者信息是可選的部分。其余部分是必須有的。
接下來(lái)通過(guò)驅(qū)動(dòng)基本框架分析helloworld驅(qū)動(dòng)。
(1)模塊加載函數(shù):

(2)模塊卸載函數(shù):

(3)模塊許可證聲明

(4)模塊作者信息

(5)頭文件

通過(guò)上面的分析可知,helloworld驅(qū)動(dòng)包含了驅(qū)動(dòng)框架所有必要部分。因此helloworld驅(qū)動(dòng)可以看作是驅(qū)動(dòng)代碼的模板。任何一個(gè)驅(qū)動(dòng)代碼可以都用它作為基礎(chǔ)來(lái)編寫(xiě)實(shí)現(xiàn)。因此同學(xué)們要將helloworld驅(qū)動(dòng)記憶下來(lái)!
-
嵌入式
+關(guān)注
關(guān)注
5202文章
20540瀏覽量
335663 -
Linux
+關(guān)注
關(guān)注
88文章
11784瀏覽量
219284 -
RK3568
+關(guān)注
關(guān)注
5文章
649瀏覽量
8021 -
迅為電子
+關(guān)注
關(guān)注
0文章
98瀏覽量
378
發(fā)布評(píng)論請(qǐng)先 登錄
迅為電子RK3568+RK3588開(kāi)發(fā)板資料煥新升級(jí)!多維度優(yōu)化助力開(kāi)發(fā)者效率提升
迅為驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):iTOP-RK3568開(kāi)發(fā)板e(cuò)DP屏幕移植全攻略
【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開(kāi)發(fā)板Linux驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):RK3568內(nèi)核模塊符號(hào)導(dǎo)出詳解
低成本AI邊緣計(jì)算盒子DIY:基于迅為RK3568和開(kāi)源模型,輕松玩轉(zhuǎn)智能識(shí)別
實(shí)戰(zhàn)RK3568性能調(diào)優(yōu):如何利用迅為資料壓榨NPU潛能-在Android系統(tǒng)中使用NPU
項(xiàng)目效率翻倍!迅為RK3568?V2.0硬件接口升級(jí),開(kāi)發(fā)流程再提速
迅為RK3568開(kāi)發(fā)板模型推理測(cè)試實(shí)戰(zhàn)LPRNet?車牌識(shí)別
技術(shù)分享 | 迅為RK3568開(kāi)發(fā)板如何將 Linux 板卡虛擬成U盤(pán)
迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)
迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng)實(shí)戰(zhàn):實(shí)現(xiàn)動(dòng)態(tài)切換引腳復(fù)用功能
嵌入式Linux新手入門(mén):為什么迅為RK3568+迅為資料是黃金組合
評(píng)論