RK3568驅(qū)動(dòng)指南|第一篇 驅(qū)動(dòng)基礎(chǔ)-第1章 前言
瑞芯微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è)檢測、工控盒、卡拉 OK、云終端、車載中控等行業(yè)。
第一篇 驅(qū)動(dòng)基礎(chǔ)
第1章 前言
磨刀不誤砍柴工!在學(xué)習(xí)驅(qū)動(dòng)之前先和同學(xué)們交流下學(xué)習(xí)方法和學(xué)習(xí)態(tài)度。
1.1 學(xué)習(xí)方法
在學(xué)習(xí)驅(qū)動(dòng)的過程中,同學(xué)們難免會(huì)遇到很多問題,例如編譯環(huán)境的問題造成內(nèi)核編譯不通過、交叉編譯器或者架構(gòu)類型沒有設(shè)置導(dǎo)致驅(qū)動(dòng)編譯失敗、內(nèi)核版本和驅(qū)動(dòng)版本不統(tǒng)一造成驅(qū)動(dòng)加載不成功等多種問題。
在遇到問題的時(shí)候,同學(xué)們一定不要灰心,要敢于去嘗試用自己的思路去解決問題。機(jī)遇與挑戰(zhàn)往往是并存的。當(dāng)同學(xué)們解決一個(gè)問題以后,自然就會(huì)前進(jìn)一步。水滴石穿,才可以真正掌握linux驅(qū)動(dòng)。
所以一定要養(yǎng)成獨(dú)立思考的好習(xí)慣!遇到問題之后,同學(xué)們可以先自己根據(jù)問題的具體表現(xiàn),來找到問題的源頭,仔細(xì)分析問題產(chǎn)生的原因和解決的方法,自主思考無果之后可以嘗試去谷歌、百度、CSDN等各大檢索網(wǎng)站上尋求幫助,Linux已經(jīng)發(fā)展了很多年,前輩們?cè)谥斑M(jìn)行了無數(shù)的探索,總有許多類似的經(jīng)驗(yàn),能解決絕大多數(shù)的問題。
并且在學(xué)習(xí)過程中千萬不要好高騖遠(yuǎn),比如對(duì)于一些有基礎(chǔ)的同學(xué)來說,學(xué)習(xí)過相似的知識(shí)點(diǎn)就一目十行甚至直接跳過,這種行為是不可取的,學(xué)習(xí)一遍和學(xué)習(xí)兩遍的知識(shí)點(diǎn),在認(rèn)知和運(yùn)用程度上是完全不一樣的。讀書要從薄到厚,再厚到薄,學(xué)習(xí)亦是如此。
端正學(xué)習(xí)態(tài)度后還要有一個(gè)好的學(xué)習(xí)方法,迅為公司在多年培訓(xùn)和產(chǎn)品開發(fā)中總結(jié)出來了一套適合初學(xué)者的學(xué)習(xí)方式,具體含義解釋為框架化學(xué)習(xí),快速原型。運(yùn)用到嵌入式Linux驅(qū)動(dòng)學(xué)習(xí)上就是從一開始先看到Linux驅(qū)動(dòng)知識(shí)領(lǐng)域的外貌,然后逐漸深入!以了解北京這座城市為例,如果在胡同里轉(zhuǎn)來轉(zhuǎn)去,可能幾年都搞不清楚這個(gè)城市是什么情況,但是如果先通過北京地圖學(xué)習(xí)一下,了解天安門在什么地方,鳥巢在什么地方,香山八達(dá)嶺在哪里,然后到這些地方看一看,可能很快就能掌握這座城市的全貌。所以運(yùn)用框架學(xué)習(xí)法,在對(duì)不同層次的框架進(jìn)行學(xué)習(xí)過程中,逐漸了解和掌握整個(gè)系統(tǒng)。 如果不注意方法,每天在胡同里面來回轉(zhuǎn)悠,肯定是事倍功半,很長時(shí)間將不得要領(lǐng)。
需要注意的是,即便有了地圖,也需要一些基礎(chǔ),比如知道什么是天安門,知道鳥巢的來歷,明白八達(dá)嶺是怎么回事,實(shí)際上這些就是基礎(chǔ)知識(shí)。也就是說在學(xué)習(xí)系統(tǒng)框架之前要具備一定的基礎(chǔ),否則這張地圖也是看不懂的。學(xué)習(xí)驅(qū)動(dòng)知識(shí)也是需要一定的基礎(chǔ)的,所以驅(qū)動(dòng)學(xué)習(xí)是有門檻的!
對(duì)于學(xué)習(xí)方法和學(xué)習(xí)態(tài)度就先說這樣多,關(guān)于基礎(chǔ)方面,下一節(jié)會(huì)專門討論。
加粗樣式# 1.2 基礎(chǔ)準(zhǔn)備
首先,不要脫離硬件。就好比用仿真軟件學(xué)習(xí)51單片機(jī)是永遠(yuǎn)掌握不了單片機(jī)的精髓的。所以有一塊硬件開發(fā)板是學(xué)習(xí)驅(qū)動(dòng)的前提。
第二,有了開發(fā)板之后,要掌握開發(fā)板的基本操作。如開發(fā)板的啟動(dòng),燒寫鏡像等操作。
第三,能夠成功編譯開發(fā)板的系統(tǒng)源碼。在驅(qū)動(dòng)的學(xué)習(xí)過程中,是避免不了的要對(duì)內(nèi)核的某些功能進(jìn)行使能、修改設(shè)備樹添加對(duì)應(yīng)的設(shè)備,這些操作都需要進(jìn)行源碼編譯。
第四,掌握C語言。驅(qū)動(dòng)程序是由C語言編寫的,而且內(nèi)核源碼中絕大多數(shù)的代碼也都是由C語言編寫的,在學(xué)習(xí)驅(qū)動(dòng)的過程中,或多或少的要對(duì)源碼進(jìn)行閱讀。所以C語言基礎(chǔ)是學(xué)習(xí)驅(qū)動(dòng)的必要條件之一。
第五,掌握Linux環(huán)境搭建以及shell命令的使用。第六,驅(qū)動(dòng)最后必然要落實(shí)到相應(yīng)的硬件上,所以肯定要對(duì)底層電路有所了解,以驅(qū)動(dòng)LED燈為例,必然要了解其控制電路,找到相應(yīng)的控制引腳,要能讀懂簡單的硬件原理圖。
更多內(nèi)容:
【公眾號(hào)】迅為電子
【B站搜索視頻】嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)(第一篇 驅(qū)動(dòng)基礎(chǔ)_全新升級(jí))_基于RK3568
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。