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