1. 程式人生 > >給初學嵌入式的菜鳥一點建議

給初學嵌入式的菜鳥一點建議

得來 計算機專業 教訓 arm9 特色 設計與實現 問題 也有 實驗

1、學習linux
根據我在論壇的了解,我選擇學習嵌入式linux,剛好我們學校也重視嵌入式linux,從實驗室到課程安排都是關於嵌入式linux方面,天時地利!這裏我把學習linux的經驗和教訓說說。

可以這樣說,在論壇裏說道學習linux差不多就學習linux內核。於是我電腦裏安裝了linux就開始看linux內核方面的書了。我記得來學校以前就買到一本陳莉君的講linux內核的第一版,現在有第二版了。我就開始看那本說,大家說linux內核情景分析不錯,我就買了上下冊,後來又買了 《深入理解linux內核》,最後也買了毛德操的《嵌入式系統》也是分析linux內核代碼的,主要講arm相關的。

看內核期間是個非常痛苦的過程,看情景分析有種在森林中找出路,其間我組織了一些同學學習內核,幾乎沒有幾個能堅持下來的。我認為我是堅持下來了。情景分析在看第一、第二遍是幾乎沒有摸到門道,我分析有三個方面的原因:1、自己的基礎差,這是最關鍵的。2、內核本身很難。3、沒有交流和高人指點。到了第三遍時我才摸到門,才差不多知道個linux的大概脈絡,很多細節也是稀裏糊塗。

學習linux總結,這裏聲明一下,我指的嵌入式主要是偏向軟件的嵌入式。學習嵌入式的重點和難點關鍵在操作系統,如果沒有掌握操作系統,我認為很難把握一個嵌入式系統。即使在做嵌入式開發中,作應有層的開發幾乎可以不知道操作系統也可以開發,我認為那是浮在表面的。很難深入和提高自己的層次。聲明:一孔之見!不可深究!

在學習linux內核過程中犯了一個極其嚴重路線錯誤:對linux幾乎不懂就開始學習內核。我個人推薦一個學習路線是:使用linux—〉linxu系統編程開發---〉驅動開發和分析linux內核。而我差不多相反,實際上你不會使用linux也可以學習內核,但是如果你懂了這些東西學習更有效率。

關於要不要學習內核的問題,我的回答如下:不一定。如果你是喜歡鉆研的那你進入內核會滿足你的欲望。同時對你以後的嵌入式系統的開發有很好的影響。如果你想從事嵌入式linux系統開發,最好對內核有所了解。如果僅僅是做應用開發沒有必要。我打個比喻:c、c++、java等語言是武林中的某個武林派別的話,如什麽拳法,什麽刀法等,那麽linux 內核應該是一個人的內功的反應。

怎麽開始學linux內核:最好有三件寶物:《深入理解linux內核》《情景分析》和源代碼。

先看《深》,那主要講原理,好像市場上有本講原理性並且更淺,《linux內核設計與實現》聽說不錯。如果沒有學習操作系統的,像我這樣的,最好先看看操作系統原理的書。看了幾遍後,就看情景分析,最好對著《深》看。兩本交叉看,《深》是綱,《情》是目。最後深入代碼。

2、學習嵌入式linux

學習嵌入式,我認為兩個重點,cpu和操作系統,目前市場是比較流行arm,所以推薦大家學習arm。操作系統很多,我個人對開始學習的人,特別不是計算機專業的,推薦學習ucos。那是開源的,同時很小。學習很好。為什麽選linux,我不想講太多,網上這方面的太多,但是我在工作中發現,做linux的技術路線很難,在windows幾乎不會有的問題,在linux開發中幾乎遍地陷阱。一掉進去劃很長時間出來,一旦解決自己又長進了!相對來說開發周期長,難度大。現在資料也逐漸豐富起來,難度也降低了些!

至於怎麽學習,這是他的特色地方,必須有塊開發板,我是同學裏最早買學習板的,雖然華錢,我認為值。對我實習和工作產生了很大的影響。

如果沒有開發板,那是紙上談兵。有人說,那要1000-2000亞,的確是,兄弟,看長遠的,對您的職業和發展那點錢不算什麽!有的人說我站著說話不腰痛,好吧,錢這東西對我影響很大,我在大學裏掃廁所,掃的不錯,獎5元/月。兄弟你有過嗎?我認為教育投資是效益最有保障的!我實習拿3k,很多同學拿1-2k,當然比我高的也有。雖然我現在沒有畢業,但一家公司就簽了。從事目前流行的高檔的消費電子的研發。對於我兩年前一無所知的我,應該有質的變化,我感謝學校收了我這個廢品。當然我也非常的努力。說這麽多並不是要炫耀我什麽,實際上根本不值得炫耀,雖然現在工作環境和待遇比較滿意,但是,我發現我很差,特別是代碼能力,我希望平常大家少玩遊戲,多編程。編程才是硬道理!

3、 學習板和培訓

你可以不接受培訓,但是不能不買開發板。如果你想學習嵌入式一定要買塊學習板,最好買塊arm9的,貴些也值。可以跑高級操作系統。這個不要什麽品牌公司的,一般不會出什麽問題,市場上的板子一般是三星的2410,基本上是抄的。如果是做產品那要註意些。一般的公司一般要2000,加lcd要3000甚至更多。我接觸到有的板只要1200,加lcd也就2000,差別比較大,我認為學習都夠啦。

對於培訓,如果有條件最好參加,主要是嵌入式相對別的不同,自己摸索很費時,如果有高手指點非常的好,進步快。特別是認識做這些的朋友。我接受過培訓,認識個朋友。在以後的工作中幫我很多,在這裏謝謝他!我記得哈佛的一個MBA的學生這樣說,大意是:在哈佛學到什麽不重要,最重要的是這些未來各大公司的高級管理人員是我的同學!真是有遠見!

給初學嵌入式的菜鳥一點建議