嵌入式linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解 如何學(xué)習(xí)嵌入式linux?
如何學(xué)習(xí)嵌入式linux?stm32的確是一個(gè)瓶頸。不過(guò)現(xiàn)在??飘厴I(yè)的去相關(guān)專業(yè)的學(xué)生越來(lái)越多,stm32的技術(shù)門檻和知識(shí)點(diǎn)確實(shí)總體容易能夠掌握。這樣的話在主流的電子行業(yè)對(duì)嵌入式的需求是比較比較大的。
如何學(xué)習(xí)嵌入式linux?
stm32的確是一個(gè)瓶頸。不過(guò)現(xiàn)在??飘厴I(yè)的去相關(guān)專業(yè)的學(xué)生越來(lái)越多,stm32的技術(shù)門檻和知識(shí)點(diǎn)確實(shí)總體容易能夠掌握。這樣的話在主流的電子行業(yè)對(duì)嵌入式的需求是比較比較大的。主要注意是取決于人Linux的應(yīng)用廣泛運(yùn)行。甚至是安卓系統(tǒng)也也可以啟動(dòng)在Linux完全相同的電路開(kāi)發(fā)板上的。
開(kāi)發(fā)板的話就不大好推薦了,有點(diǎn)像廣告了。
自學(xué)Linux可分兩個(gè)大方向,底層驅(qū)程和上層應(yīng)用,這也操作系統(tǒng)的特點(diǎn)。底層涉及驅(qū)動(dòng)系列,對(duì)此硬件有也很就的相關(guān)性。而應(yīng)用全都和硬件沒(méi)他大的關(guān)系,要注意掌握到的是如何修改Linux操作系統(tǒng),牽涉各種指令,可以看很多Linux運(yùn)用的書(shū)籍。從而寫一些實(shí)現(xiàn)Linux GCC的程序來(lái)熟悉這個(gè)。可以不玩一玩樹(shù)莓派板子,這個(gè)資料比較比較多,可玩性,掌握知識(shí)是很有幫助的。最近出了新版的,可以備一個(gè)用來(lái)怎么學(xué)習(xí)Linux。
而底層是比較枯燥的,不需要耗去比較好多。要注意是驅(qū)動(dòng)層都很難,因?yàn)樾枨笫呛芏?,不愁找不著工作。僅僅會(huì)單片機(jī)巳經(jīng)的確不太有比較大的競(jìng)爭(zhēng)力了。底層必須手中掌握很多知識(shí),隨便是去買一個(gè)比較比較比較流行開(kāi)發(fā)板就行了,通常是資料多,看不懂的好找不到人來(lái)問(wèn)。否則不自己一個(gè)人遇到卡殼的就很慢了。這個(gè)可以看下原子的,stm32你應(yīng)該要明白他很名氣,還想出Linux開(kāi)發(fā)板了。
我目前只會(huì)各形單片機(jī)及電路板的設(shè)計(jì),肯定也如何自學(xué)了服務(wù)器后端的簡(jiǎn)單點(diǎn)使用,在內(nèi)網(wǎng)站前端開(kāi)發(fā),AndroidAPP開(kāi)發(fā),IOS還沒(méi)有咋學(xué),時(shí)間不那你極為豐富。你借著畢業(yè)后前三年的業(yè)余時(shí)間,學(xué)習(xí)看看是很確實(shí)不錯(cuò)的,時(shí)間總體多有一點(diǎn),但是也需要靠自覺(jué)性,要知道你的上司可能都在打游戲,你能堅(jiān)持兩個(gè)月好好過(guò)下去嗎?
技術(shù)工作是太枯燥的,希望你能有找不到自己的方向,多靠積累,多實(shí)踐。
uboot啟動(dòng)過(guò)程既然已經(jīng)初始化了部分硬件,為什么Linux內(nèi)核中還是有這些硬件的驅(qū)動(dòng)程序?
Kernel可以搭配不同的bootloader,uboot僅僅bootloader的一種,要是是需要kernel不重新初始化Bootloader系統(tǒng)初始化過(guò)的硬件當(dāng)然是也可以可以做到的,只不過(guò)提升了耦合。在定制化的啟動(dòng)流程中是是可以做的,可是目前沒(méi)有一種同型號(hào)的設(shè)計(jì)能在bootloader跳轉(zhuǎn)過(guò)程中把所有初始化的配置網(wǎng)絡(luò)共享,確實(shí)現(xiàn)在都這個(gè)可以使用相同的dts來(lái)初始化,只不過(guò)要能做到兼容問(wèn)題我還是不需要肯定會(huì)的改,目前也也沒(méi)看到兩者硬件初始化設(shè)置統(tǒng)一整合的跡象,可能會(huì)任何啟動(dòng)速度的提高并不是比較多帶動(dòng)的動(dòng)力。解釋關(guān)鍵的點(diǎn),內(nèi)存管理的不同是關(guān)鍵,即使兩個(gè)部份能寬帶共享讀取系統(tǒng)初始化信息的內(nèi)存,技術(shù)上能可以做到,不過(guò)太客制化了,并非一個(gè)通用解決方案。不能找到其他再需要補(bǔ)充……