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