今天繼續(xù)為大家介紹作為新人應(yīng)該如何學(xué)習(xí)ARM的嵌入式開(kāi)發(fā)系統(tǒng),依舊是本著從最基礎(chǔ)的東西開(kāi)始的原則下面就和大家分享一下對(duì)Linux系統(tǒng)ARM嵌入式的學(xué)習(xí)過(guò)程:
打好基礎(chǔ)再做系統(tǒng)移植
經(jīng)過(guò)之前的研究,我們已經(jīng)能夠了解到完整的linux系統(tǒng)分成分為三個(gè)部分,而每個(gè)部分的功能和關(guān)系在經(jīng)過(guò)一番研究學(xué)習(xí)之后相信大家也都有所了解。下面,我們就要自己動(dòng)手寫(xiě)一些東西了。當(dāng)然我不可能叫你編寫(xiě)這些代碼,這不實(shí)現(xiàn)。事實(shí)上這個(gè)3者都能在網(wǎng)下載到相應(yīng)的源代碼,但是這個(gè)源代碼不可能下載編譯后就能在你的系統(tǒng)上運(yùn)行,需要很多的修改,直到他能運(yùn)行在你的板子上,這個(gè)修改的過(guò)程就叫移植。在進(jìn)行移植的過(guò)程中你要學(xué)的東西很多,要懂的相關(guān)知識(shí)也很多,等你完成了這個(gè)過(guò)程你會(huì)發(fā)現(xiàn)你已經(jīng)算是一個(gè)初出茅廬的高手了。
如果你覺(jué)得自己掌握的知識(shí)還算不錯(cuò),可以嘗試在此階段嘗試研究性的查看源碼。很多書(shū)介紹你怎么閱讀linux源代碼,我不提倡無(wú)目的地去看linux源代碼,用許三多的話說(shuō),這沒(méi)有意義。等你在做移植的時(shí)候你覺(jué)得你必須去看源代碼時(shí)再去找基本好書(shū)看看,這里我推薦一本好書(shū)倪繼利的《linux內(nèi)核的分析與編程》,這是一本針對(duì)linux-2.6.11內(nèi)核的書(shū),說(shuō)得很深,建議先提高自己的C語(yǔ)言編程水平再去看。
如果需要部分代碼和資料可以去網(wǎng)上搜索,有很多的資料供我們使用。不過(guò)值得注意的是,很多介紹自己經(jīng)驗(yàn)的東西都或多或少有所保留,你按照他說(shuō)的去做總有一些問(wèn)題,但是他不會(huì)告訴你怎么解決,這時(shí)就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保證能解決你的問(wèn)題,因?yàn)槲椅幢赜龅竭^(guò)你的問(wèn)題,不過(guò)我相信能給你一點(diǎn)建議,也許有助你解決問(wèn)題。這一步的最終目的是,從源代碼的官方主頁(yè)上(都是外國(guó)的,悲哀)下載標(biāo)準(zhǔn)的源代碼包,然后進(jìn)行修改,最終運(yùn)行在板子上。