作天剛在公眾號推了篇相關的文章【ARM與嵌入式Linux怎麼入門不踩坑?】,是我精選很久的,很適合回答這個提問。

碼字不易,如果有幫到你,請賞個贊,我會很感謝你的鼓勵的。

01學習基本的裸機編程

對於學硬體的人而言,必須先對硬體的基本使用方法有感性的認識,更必須深刻認識該硬體的控制方式,如果一開始就學linux系統、學移植那麼只會馬上就陷入一個很深的漩渦。

02使用Linux系統進行一些基本的實驗

買一套板子的話,一般會提供一些linux的試驗常式,好好做一段時間這個吧,這個過程也是很有意義的,也是為進一步的學習積累感性認識,你能想像一個從沒有使用過linux系統的人能學好linux的編程嗎?好好按照手冊上的常式做一做裡面的實驗。

03研究完整的Linux系統的運行過程

3部分:bootloader、linux kernel(linux內核)、rootfile(根文件系統)。

04開始做系統移植

上面說到完整的linux有3部分,而且你也知道了他們之間的關係和作用,那麼現在你要做的便是自己動手學會製作這些東西。當然不可能叫你直接編寫這些代碼,這也不實現。事實上這3者都能在網上下載到相應的源代碼,但是這個源代碼不可能下載編譯後就能在你的系統上運行,需要很多的修改,直到他能運行在你的板子上,這個修改的過程就叫移植。在進行移植的過程中你要學的東西很多,要懂的相關知識也很多,等你完成了這個過程你會發現你已經算是一個初出茅廬的高手了。

05研究Linux驅動程序的編寫

移植系統並不是最終的目的,最終的目的是開發產品,做項目,這些都要進行驅動程序的開發。

Linux的驅動程序可以說是五花八門,linux2.4和linux2.6的編寫有相當大的區別,就是同為linux2.6但是不同版本間的驅動程序也有區別,因此編寫linux的驅動程序變都不是那麼容易的事情,對於最新版本的驅動程序的編寫甚至還沒有足夠的參考資料。那麼我的建議就是使用、移植一個不算很新的版本內核,這樣到時學驅動的編程就有足夠的資料了。

06研究應用程序的編寫

做作品做項目除了編寫驅動程序,最後還要編寫應用程序。現在的趨勢是圖形應用程序的開發,而圖形應用程序中用得最多的還是qt/e函數庫。不過我希望你能使用國產的MiniGUI函數庫。支持MiniGUI」。MiniGUI的編程比較相似Windows下的VC編程,比較容易上手,效果應該說是相當不錯的。

總結

以上介紹的就是ARM與嵌入式Linux的入門建議了,其實你要是按照上面的步驟來學習嵌入式Linux的話,那麼現在基本也就學完了,在學習過程中是肯定會遇到這樣那樣的問題的,這時候你也不能一味等著別人來給你解決ARM或者嵌入式相關的問題,如果比較簡單的問題,也可以在網上找找答案。

碼字不易,如果有幫到你,請賞個贊,我會很感謝你的鼓勵的。另外誠摯向你推薦我在運營的公眾號,每天都有有一篇嵌入式、物聯網相關的乾貨文章。


個人的一些不完善的觀點。首先linux和arm是兩個相關但不同的概念。linux是操作系統,對應的是我們大多數人用的Windows系統,而在嵌入式平台上雖然linux一家獨大,但其實也是有很多不用操作系統或者使用ucos等實時操作系統的情況;而arm是cpu體系架構,對應的是大多數人用的x86架構pc,在嵌入式平台下雖然也有基本的51和avr等各自不同的單片機處理器,但是stm32等常用的又或者一些高端的能跑linux的開發板基本上都是基於arm架構的處理器。

如果單單學習arm,那麼在嵌入式方面主要會做單片機相關工作,也就是編寫不跑操作系統的裸奔程序,當然也可以使用一些功能相對簡單的實時操作系統,學習這個其實買塊stm32的開發板然後自己動手就可以入門了,你會學到學慣用程序控制外設晶元,學習如何控制硬體設備運行等等;而linux作為一個不常用的操作系統,一方面需要自己安裝雙系統或者虛擬機,然後學習一下linux系統下的使用,一方面還需要學習如何將linux內核移植到嵌入式開發板上並且如何進行使用。

後面我也不太清楚了。。。下次再寫吧

本人曾經是華清遠見的教學總監,曾經培養了幾千名學生,我在另外一個帖子里回答了,你可以參考下,我個人認為按照我所說的學習大綱去學習,會少走彎路。希望答案對你有所幫助。

請問只掌握linux能找到工作嗎? - 一口網Linux的回答 - 知乎

請問只掌握linux能找到工作嗎??

www.zhihu.com圖標

先學微處理器系統,主要是中斷,匯流排這些的原理。再學arm,比如stm32。linux只是一個載體,編程基本都是c,學一學基本操作就可以。


我個人覺得可以先從ARM入手,先解決硬體問題,上層軟體才能融會貫通。


學linux,編程而已

arm只是處理器,x86,ppc,mips,sparc,多了去了,對於你做產品沒啥區別


推薦閱讀:
相关文章