新聞中心
如何自學(xué)linux驅(qū)動(dòng)開(kāi)發(fā),做驅(qū)動(dòng)開(kāi)發(fā)需要哪些方面的知識(shí)?
做嵌入式應(yīng)用的話一般的編程就可以了。那么嵌入式驅(qū)動(dòng)開(kāi)發(fā)與內(nèi)核開(kāi)發(fā)的話就需要學(xué)習(xí)多個(gè)方面的知識(shí)。我就把這方面的要求給你交流一下:(一家之言啊,自己多年從事嵌入式開(kāi)發(fā)的一點(diǎn)感悟)嵌入式驅(qū)動(dòng)開(kāi)發(fā)需要了解的知識(shí)大概有以下幾類(lèi):

1 嵌入式操作系統(tǒng)驅(qū)動(dòng)框架。
每一個(gè)操作系統(tǒng)都有自己的構(gòu)架,應(yīng)該了解驅(qū)動(dòng)在整個(gè)系統(tǒng)中的具體位置與構(gòu)建驅(qū)動(dòng)程序的主要事項(xiàng)2 總線知識(shí),比如PCI、USB總線。
3 芯片知識(shí)。
驅(qū)動(dòng)其實(shí)就是對(duì)設(shè)備上一些寄存器的配置、CPU與設(shè)備本身的通訊以及對(duì)不同命令的處理4 要做好驅(qū)動(dòng),必須對(duì)所使用的CPU體系結(jié)構(gòu)有一個(gè)比較深刻的認(rèn)識(shí)5 C++基本用不上,主要是C和匯編。
6 做驅(qū)動(dòng)最好要懂內(nèi)核調(diào)試(比如說(shuō)linux)
linux驅(qū)動(dòng)開(kāi)發(fā)前景?
Linux驅(qū)動(dòng)開(kāi)發(fā)在當(dāng)前和未來(lái)都有很好的前景。隨著Linux操作系統(tǒng)的廣泛應(yīng)用和不斷發(fā)展,對(duì)各類(lèi)設(shè)備和外設(shè)的支持需求也在不斷增加。因此,對(duì)于Linux驅(qū)動(dòng)開(kāi)發(fā)人員的需求也會(huì)隨之增加。
此外,隨著物聯(lián)網(wǎng)、云計(jì)算等新興技術(shù)的快速發(fā)展,越來(lái)越多的設(shè)備將與Linux系統(tǒng)進(jìn)行連接和通信,這也將為L(zhǎng)inux驅(qū)動(dòng)開(kāi)發(fā)提供更多的機(jī)會(huì)和挑戰(zhàn)。
另外,開(kāi)源社區(qū)對(duì)于Linux驅(qū)動(dòng)的重視度也非常高,有很多開(kāi)源項(xiàng)目和社區(qū)致力于開(kāi)發(fā)和維護(hù)各類(lèi)Linux驅(qū)動(dòng)。因此,對(duì)于愿意參與開(kāi)源社區(qū)以及有良好驅(qū)動(dòng)開(kāi)發(fā)知識(shí)和技能的人來(lái)說(shuō),Linux驅(qū)動(dòng)開(kāi)發(fā)的職業(yè)前景也非常廣闊。
Linux內(nèi)核和驅(qū)動(dòng)開(kāi)發(fā)工程師的發(fā)展前景怎么樣?
我親身體驗(yàn),我之前是做數(shù)控系統(tǒng)開(kāi)發(fā)的,做了有七八年,有x86的產(chǎn)品也有arm的產(chǎn)品,x86的linux相對(duì)開(kāi)發(fā)驅(qū)動(dòng)的地方不多,arm上比較多,存儲(chǔ),顯示的,usb的 ,各種總線的,音頻的,網(wǎng)絡(luò)的,很多地方只要有訂制需求都要改。驅(qū)動(dòng)開(kāi)門(mén)檻比較高,主要會(huì)軟件還得了解些硬件知識(shí),硬件的原理圖,設(shè)備的數(shù)據(jù)手冊(cè),工作特性都要會(huì),入門(mén)難 但是一旦入門(mén)了就跟其他的一樣做多了就熟悉了。之前公司是linux+qt,今年離職了進(jìn)了一家安卓開(kāi)發(fā)的公司,現(xiàn)在還在做安卓的驅(qū)動(dòng)開(kāi)發(fā),感覺(jué)大同小異,只是硬件平臺(tái)變了,開(kāi)發(fā)的內(nèi)容仍是沒(méi)變。驅(qū)動(dòng)這一塊,人比較少,相對(duì)待遇也會(huì)好一些,現(xiàn)在我也不知道未來(lái)會(huì)不會(huì)隨著年齡越大,會(huì)被淘汰掉,但是linux本身的應(yīng)用范圍是挺廣的,而且作為一個(gè)成功的開(kāi)源項(xiàng)目,只要社會(huì)有需求,后面應(yīng)該還是會(huì)被廣泛應(yīng)用,至于個(gè)人就看自己的能力和精力了!
嵌入式是一個(gè)做硬件產(chǎn)品為主的行業(yè),通俗講就是工業(yè)電子和消費(fèi)電子量大產(chǎn)業(yè). 消費(fèi)以手機(jī),智能音箱,家用物聯(lián)網(wǎng)設(shè)備等為代表;工業(yè)控制如機(jī)床,交通,廣告牌等各種非消費(fèi)類(lèi)電子產(chǎn)品. 做嵌入式可以先看行業(yè),再看職位. 因?yàn)樾袠I(yè)決定了薪資的高低. 這點(diǎn)和互聯(lián)網(wǎng)區(qū)別很大.
其次具體到職位,嵌入式,這是對(duì)操作系統(tǒng)內(nèi)核源碼,基礎(chǔ)語(yǔ)言C/C++/匯編,硬件電路知識(shí),開(kāi)發(fā)系統(tǒng)環(huán)境,編譯Makefile原理,代碼編輯VIM,這些都需要熟悉,開(kāi)發(fā)軟件是和硬件打交道的,懂硬件會(huì)看原理圖是必備的. 另外對(duì)外部硬件通信協(xié)議USB,SDIO/EMMC,PCIE等要熟悉,這些是調(diào)試和開(kāi)發(fā)驅(qū)動(dòng)的基礎(chǔ),如果涉及無(wú)線通信Wi-Fi,藍(lán)牙,可能要閱讀相關(guān)802.11協(xié)議和SIG協(xié)議. 以太網(wǎng)部分TCP/IP要熟悉.
嵌入式還有音頻系統(tǒng)也要調(diào)試,camera接口要會(huì)調(diào)試,LCD接口要會(huì)調(diào)試.
總的來(lái)說(shuō)入門(mén)嵌入式對(duì)基礎(chǔ)知識(shí)要求很高,3-5年入門(mén)到基礎(chǔ)調(diào)試沒(méi)有問(wèn)題. 但是如果要編寫(xiě)Linux內(nèi)核驅(qū)動(dòng)或是開(kāi)發(fā)協(xié)議有關(guān)的驅(qū)動(dòng),這些需要5-10年的錘煉,對(duì)協(xié)議和內(nèi)核機(jī)制需要更深層次的理解.
如果只是做Linux應(yīng)用層開(kāi)發(fā)來(lái)說(shuō),需要掌握的知識(shí)要淺一點(diǎn),只要了解libC庫(kù)函數(shù)和內(nèi)核SYSCALL如何用即可,但是進(jìn)程間通信,線程操作,文件系統(tǒng)操作等必須融會(huì)貫通,這樣才能開(kāi)發(fā)好應(yīng)用程序.
UI就是QT,基于安卓那叫APP開(kāi)發(fā)了,不是嵌入式范疇. 但是安卓設(shè)備底層調(diào)試屬于潛入式開(kāi)發(fā).
供參考
到此,以上就是小編對(duì)于的問(wèn)題就介紹到這了,希望這3點(diǎn)解答對(duì)大家有用。
當(dāng)前文章:實(shí)踐Linux驅(qū)動(dòng)開(kāi)發(fā)入門(mén)實(shí)踐:指引你走上成功之路(linux驅(qū)動(dòng)開(kāi)發(fā)入門(mén))
當(dāng)前網(wǎng)址:http://fisionsoft.com.cn/article/djspidh.html


咨詢
建站咨詢
