返學(xué)費(fèi)網(wǎng) > 培訓(xùn)機(jī)構(gòu) > 全國(guó)IT培訓(xùn)中心
初學(xué)者如何開(kāi)始學(xué)習(xí)嵌入式linux內(nèi)核深入開(kāi)發(fā) 呢?新手入門(mén)全干貨!零基礎(chǔ)小白入門(mén)做嵌入式linux內(nèi)核開(kāi)發(fā)要不要學(xué)數(shù)電模電嗎,嵌入式linux內(nèi)核驅(qū)動(dòng)??必看
1:嵌入式是必須要和處理器架構(gòu)打交道的!和處理器有關(guān)的電路可以說(shuō)都是數(shù)字電路;所以嵌入式必須要懂?dāng)?shù)字電路;2:linux內(nèi)核開(kāi)發(fā):個(gè)人感覺(jué)還是要懂的!因?yàn)閘inux 內(nèi)核有兩部分代碼:和處理器架構(gòu)有關(guān)的:~/arch/目錄下面的代碼;和通用代碼;和架構(gòu)相關(guān)的就是和硬件打交道了;3:個(gè)人感覺(jué)能高Linux kernel 開(kāi)發(fā)的人都是特別大神級(jí)的人物;中國(guó)好像不多;搞Linux Driver的倒是挺多!但真正大牛(像linux 社區(qū)的大牛)也不多!4:個(gè)人感覺(jué)你問(wèn)這個(gè)問(wèn)題問(wèn)的有點(diǎn)問(wèn)題……把自己的目標(biāo)放的太大了!
首先分清楚基于linux平臺(tái)下的驅(qū)動(dòng)開(kāi)發(fā)和應(yīng)用程序開(kāi)發(fā),驅(qū)動(dòng)開(kāi)發(fā)確實(shí)比較難(真正說(shuō)難也算不上很難),培訓(xùn)出來(lái)只是個(gè)初級(jí)程序員也不能這么說(shuō),因?yàn)楹万?qū)動(dòng)打交道的莫過(guò)于C,可以說(shuō)只搞驅(qū)動(dòng)的話C就足夠了,當(dāng)然還需一定的硬件基礎(chǔ),有些人說(shuō)學(xué)嵌入式驅(qū)動(dòng)開(kāi)發(fā)軟件方面站的比重要更大。但個(gè)人為硬件占得比例要多與軟件方面,可以這么說(shuō)硬件搞得透,驅(qū)動(dòng)也就差不多了。而應(yīng)用程序開(kāi)發(fā)用的用的語(yǔ)言多只甚多,因?yàn)樗蛔⒅爻绦虻木帉?xiě),調(diào)試等。所以內(nèi)核驅(qū)動(dòng)開(kāi)發(fā)培訓(xùn)出來(lái)后寫(xiě)程序的水平可能比應(yīng)用程序員更高。但是了解的語(yǔ)言廣度要弱了,但是話又說(shuō)回來(lái),個(gè)人認(rèn)為,C也能干大事,其實(shí)語(yǔ)言原理都是相通的,關(guān)鍵是一些語(yǔ)規(guī),等做了些變換,寫(xiě)程序的思想才(算法)是最重要的。評(píng)價(jià)一個(gè)程序員的標(biāo)準(zhǔn)不是他懂多少種語(yǔ)言,很大程度上應(yīng)用程序開(kāi)發(fā)人員只是代碼工具,只知道怎么用,而很少過(guò)問(wèn)底層是怎么實(shí)現(xiàn)的,就我的觀點(diǎn)而論,學(xué)驅(qū)動(dòng)開(kāi)發(fā),內(nèi)核開(kāi)發(fā)就恰好彌補(bǔ)了這一點(diǎn),就像當(dāng)初研究linux內(nèi)核時(shí),不得不深入最底層的內(nèi)核源碼。然后會(huì)恍然大悟原來(lái)內(nèi)核只是為應(yīng)用程序提供了相關(guān)的調(diào)用接口,在通過(guò)驅(qū)動(dòng)驅(qū)使相應(yīng)的硬件工作,然后把結(jié)果返回個(gè)用戶程序。當(dāng)然能把應(yīng)用程序?qū)懙暮芎靡沧C明有涵養(yǎng)。但是我還是覺(jué)得弄清他的來(lái)龍去脈才是最關(guān)鍵的,學(xué)語(yǔ)言莫過(guò)于先會(huì)用,再深入其代碼,最后修改其代碼實(shí)現(xiàn)自己想做的。面對(duì)將近1000萬(wàn)行的(2.6內(nèi)核版本)也許會(huì)疑惑無(wú)從下手,但是學(xué)linux內(nèi)核最好的方式就是從驅(qū)動(dòng)入手,因?yàn)轵?qū)動(dòng)代碼占了80%左右,也許在你編譯內(nèi)核時(shí),也會(huì)發(fā)現(xiàn)但多數(shù)的時(shí)間都是在驅(qū)動(dòng)這塊了。 還有想說(shuō)的是,就像LZ上面說(shuō)的經(jīng)驗(yàn)是最重要的,也向樓下說(shuō)的,公司不會(huì)讓你天天研究?jī)?nèi)核,開(kāi)發(fā)內(nèi)核,也沒(méi)有一家公司肯冒險(xiǎn)讓你一個(gè)初出茅廬的小菜(開(kāi)個(gè)玩笑)比較關(guān)鍵的工作。所以說(shuō)學(xué)驅(qū)動(dòng)之前最好先學(xué)一下應(yīng)用程序方面,最好是網(wǎng)絡(luò)編程(這里就不一一舉出來(lái)了),正如上面說(shuō)的,先會(huì)---在代碼--再改造。不知不覺(jué)中就會(huì)在工作中慢慢的升入了內(nèi)核了,在考慮要不要轉(zhuǎn)向……當(dāng)然直奔內(nèi)核、驅(qū)動(dòng)開(kāi)發(fā)也不是走不通,但是要付出的你懂得,--個(gè)人觀點(diǎn)。
看了以上有關(guān)的嵌入式linux內(nèi)核深入開(kāi)發(fā)講解,如果還有什么疑問(wèn)可以直接來(lái)電咨詢。
只要一個(gè)電話
我們免費(fèi)為您回電