嵌入式linux開發學習(二)

2021-10-18 21:12:03 字數 1906 閱讀 9977

總結一下自己的學習思路吧,對於乙個初學者,面對網上隨處可見的教程,不知道從何處下手,記得剛開始買了一塊開發板來搞,一來就開始搞系統移植、底層驅動這些,弄得頭暈,太難了,後來實在學著太費力了,學了很久感覺還停留在原地,都不見效果多方請教才改變了方式,慢慢地越學越順手。這個過程中饒了很多彎路,也浪費了很多時間,所以有乙個好的學習思路很重要!!!

誤區1:直接上手底層驅動開發

花費大量的精力和時間去研究學習底層驅動,boot、核心、檔案系統地使用及移植等等。首先這一部份針對於初學者來說特別難,自己起初也走了這條彎路,當時學著很吃力,雖然也能看懂,但是效果不是很好,很慢,有種停滯不前地感覺,沒有學到什麼有用的東西,越往後學越迷茫。

誤區2:全身心投入伺服器版本linux系統

花費大量的精力和時間去研究學習系統配置,甚至把各種命令都背地滾瓜爛熟,以為這樣就可以學會嵌入式linux開發。其實不然,linux系統只是嵌入式linux的一 個開發工具,我們的目標不是學習伺服器的配置和使用,linux伺服器的高階配置和使用那是另外乙個領域,不屬於嵌入式 linux開發討論的範疇。

誤區3:直接閱讀linux核心源**

很多想學linux,在連linux是什麼東西,一點都還不會使用的情況下去就閱讀linux核心源**。這樣的結果很可能就是看的頭昏眼花,不知所云,最後只能放棄了。應該是在有一定嵌入式linux開發基礎後,帶著一定的目的去閱讀linux源**,這樣可以極大地提高技術能力,不過要是在沒有任何基礎下,對linux一點都不了解的情況下就去看linux核心源**,那是無異於以卵擊石地,最後只能是撞個頭破血流。

那麼如何正確地學習嵌入式linux開發呢?

一、嵌入式linux應用開發

學習嵌入式linux也一樣。在學習嵌入式linux開發比較適合的切入點是從嵌入式linux應用程式開發開始,即暫時先不去關心嵌入式硬體平台,不去關心linux的底層驅動,先把精力集中在現有的嵌入式linux平台上進行嵌入式linux應用程式設計開發。學習嵌入式linux開發絕不是看看書就可以學好的,需要多實踐,多程式設計除錯,所以首先得買一塊linux開發板。然後就可以開始學習linux常用命令、環境搭建、應用程式開發等等。

但是呢,目前還不能進行嵌入式linux系統和驅動的開發,也就是說,現在只能在乙個已經構建好的嵌入式 linux平台上進行應用程式開發,而自己還沒有能力根據實際需要去重新構建乙個嵌入式linux平台。要讓自己有能力根據實際需要重新構建乙個嵌入式 linux軟硬體平台,這時候就需要進行下一階段的學習了,即嵌入式linux系統和驅動開發。

二、嵌入式linux系統和驅動開發

有了嵌入式linux平台上開發應用程式的基礎,就可以更深入的去學習linux系統原理和基於linux驅動的開發,linux核心的裁剪,檔案系統構,bootloader等等底層的知識了。當然,想要更深入學習嵌入式linux系統和驅動開發,要學的內容就非常多了包括計算機軟體、硬體、作業系統等知識。通過這一階段的學習,在嵌入式linux開發領域已經算是有了一定的功底,已經不再被人稱為菜鳥了,已經進入嵌入式linux開發高手行列了。

三、更上一層樓

深入理解了嵌入式核心和驅動開發,這時候寫個什麼驅動對已經沒有什麼問題了,開發過程中一些基本問題都難不成問題了。這時可能想優化一下系統的效能,比如實時性,提高系統的啟動速度,或者優化系統的記憶體管理機制,要達到修改核心核心機制的境界,你就需要去深入去研讀linux核心原始碼了,參考 《linux原始碼深度分析》等linux原始碼分析的書籍,深入理解linux各部分的實現機制和原理,以及可能存在的問題。只有在深入理解現有**和實現機制的基礎上,才能提出更好的改進方案。如果能達到這個境界,那已經是高手中的高手,可以笑傲群雄了。

以上是自己結合自己的嵌入式學習經歷和大佬們的嵌入式開發經驗總結的一些嵌入式學習方法和步驟,這只是自己對嵌入式學習的一些看法,希望對那些有興趣學習嵌入式 linux又不知道從哪開始學的人有所幫助。當然,每個人的情況都不一樣嘛,本次總結的一些學習方法和思路僅供參考,希望大家能找到適合自己的學習嵌入式開發的方式,早日進入嵌入式開發大門。

linux嵌入式開發

我的環境 主機 ubuntu 64位 開發板 mini2440 6 makefile檔案修改 在 opt friendlyarm mini2440 linux 2.6.29下執行 sudo vi.makefile 搜尋arm linux得到乙個結果 cross compile?arm linux 然...

嵌入式開發學習

始於興趣,因興趣而精緻 對於很多人聽到嵌入式這個詞的時候,會感覺到有些迷茫,嵌入式到底和常見的硬體電路學習,軟體程式設計,物聯網等有什麼區別?學習嵌入式到底按照怎樣的乙個思路才能最快的進入狀態,領略嵌入式之美,怎樣才能正確進行興趣匹配實現自己的學習目標。接下來,就讓我簡單的介紹一下我對嵌入式學習的理...

嵌入式開發學習歷程(二) Linux環境搭建

sshd伺服器 ssh 協議 安全外殼協議。為 secure shell 的縮寫。ssh 為建立在應用層和傳輸層基礎上的安全協議。作用 sshd服務使用ssh協議可以用來進行遠端控制,或在計算機之間傳送檔案,相比較之前用telnet方式來傳輸檔案要安全很多,因為telnet使用明文傳輸,ssh是加密...