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