嵌入式學習心得體會

  嵌入式學習是將學習真正“嵌入”到日常工作中,使學習的知識能得到有效的轉化,極大的加強了學習的積極性,下面是小編整理的,歡迎大家參閱。

  嵌入式學習一:

  這個題目很大,給人一種感覺我好像很成功,其實不然。實際上自己水平不高,甚至很低,但是做過了一些曲折的學習道路,同時把自己真實的學習歷程表達出來,希望對後來者有借鑑的意義,甚幸!

  工作三年、幾成廢人!

  我XX年畢業於華中地區的一個理工科大學,專業是機械電子,我當時已經簽了一家內陸某個省級機關工作,家裡八輩是農民,並且很偏遠,能夠進入這樣的地方是祖墳有風水。但在畢業前夕有個進入it的機會,我本想進去的,家裡人極力反對,阻力可想而知。同時要交4000元的違約金,對我來說是天文數字。大學裡的費用很多是借的,幾乎將近一半的費用是在大學勤工儉學掙的,為了省錢,高中一個學期回家一次,大學一年回去一次。並且我個人也有特殊的人生背景悲景更確切,這裡不多說了,寫十篇也寫不完,同時偏離主題。這樣我就參加了工作。一張報紙一杯茶的日子,幾乎下班後有種很空虛和恐慌的感覺。在工作中雖然是與自己專業有點關係,但是很少。專業幾乎荒廢。我自己也思考,如果再不出去,自己將會成廢人,只好讓國家養了。兩年後決定出去,但是幾成廢人,誰要呢,只好到學校去鍍金。這是中國教育和社會的悲哀!

  至於專業就改為計算機方面,聽說好找工作,我說實話不是很對計算機特別感興趣,生存第一需要。不要笑我,哈哈!

  考研成績出來,超過了國家線幾十分。那個方向要兩個,我第三,但是那年非碘,不面試就按分數來排,自然我落選了。其實給我面試機會也不一定要我,哈哈,自己幾斤幾兩很清楚。

  最後調劑到另外一個學校,交錢,咬咬牙,交吧!現在仍然債臺高築!

  進入學校前夕

  為什麼要把這段列出,看後就知道了。

  單位有網路,經常上網查些英語資料,在那裡唯獨英語沒有丟很多。於是我就在網上查資料,學什麼好呢,最後確定學嵌入式把,聽說跟硬體相對比較緊密!而我在大學裡多少學習了數位電路,微控制器等,所以多少也有所利用,不會真的一無所知。當然在這之

  前也自學過資料結構,計算機組成原理等。c 語言在大學就學了。哈哈這就是我的家底。

  我知道自己的基礎差,於是我就拿作業系統,資料庫、資料結構、c++來看,機關有這個好處,空餘時間多,於是平常就看書,很痛苦,沒有人請教。

  另外就上網到論壇上去,我就到各個專業的技術論壇,其實是電子論壇和嵌入式論壇。我幾乎沒有發帖,幾乎把幾個大型的出名的論壇的帖子翻遍了,雖然有很多重複的,我才知道嵌入式是個什麼東東。這些帖子對我以後的學習產生了極大的影響。

  最關鍵兩點:1、嵌入式是什麼?

  2、嵌入式需要哪些知識?

  知道了這兩點,好辦!我就開始規劃學習路線。計算機的基本理論不能丟,於是重點看組成原理,資料機構,作業系統、c++。同時論壇上了解到,實時作業系統ucos是一個很好的嵌入式作業系統,對初學者很好。於是我就買了一本書,但是程式碼在電腦裡調不通,網上也有很多相同的問題,我就看書,分析程式碼,一遍不行就兩遍,三遍,這樣才入了門,才知道什麼是程序。原來看作業系統書時,根本就不知道程序是個什麼東西。

  在這段時間掌握的東西不多,但是,對我以後的影響很大,我想起了大學時一個同學跟我說過了一句話:大學裡最重要的不是學到了什麼,最重要的是學會怎麼學!大概是這個意思。

  進入我的避難所

  對我來講,再次進入大學不再是大學,而是避難所。希望這次進入給我喘氣和養精蓄銳的機會和時間。我是這樣認為和實踐的。

  在學校我有三件事:上課,上圖書館,上網。

  對於上課,學校開了很多課程,非常好,很多是名人名師講解,於是很多同學都想學,都去聽。我也考慮過,最後放棄。我是這樣認為的,時間是有限的,什麼都想學,什麼都學不成。於是我把我自己學的課進行了分化,一般的課程通過就行,重要的一定好好學。我希望不要什麼爭論學習課程多和少的問題,這僅僅是我的看法。所以我的成績應該是很差的。分數低。好在後來的單位沒有要我的成績單,否則就慘了。

  我個人感覺是上圖書館的效率比在寢室裡高多了,這是我的經驗。

  二:

  目前最常見的嵌入式LINUX方面,我認為大概3個:

  1.嵌入式LINUX上層的應用,包括QT的GUI開發

  2. 嵌入式的LINUX系統開發

  3.嵌入式的驅動開發

  學習嵌入式:

  第一.C語言要掌握硬體略懂,C語言是所有程式語言中的強者,微控制器,DSP,類似ARM的種種晶片的程式設計都可以用C語言搞定,因為它可移值性強,編譯效率高,運算速度快,便於實現理更復雜的的資料結構。上層應用和資料儲存,我推薦使用C++語言。

  第二.學習一種嵌入式的處理器架構,個人推薦32位的處理器,像ARM,因為嵌入式

  開發8位的處理器顯得有點低端,大多數只能用作簡單的工控.

  第三.學習一種嵌入式作業系統,像LINUX,WINCE等都可以,LINUX更好。

  三:ARM是一種微處理器,已遍及工業控制,消費類的電子產品,通訊,網路,無線等各類的產品基於

  ARM技術的微處理器已佔75%以上的市場份額,可見其技術已逐滲入到我們生活中的各個領域,像手機

  就是用ARM7 ARM9 ARM11的微處理器技術開發的。嵌入式系統最常見的ARM系列,ARM7 ,ARM9,

  ARM11,cortex-A8等。

  我們都是曾經從大學裡走出來的迷茫羊羔,工作以後我才知道,在大學裡不是學到了什麼,而是學會怎麼去學,相信自己,理清自己的思路,根據自己的性格,剖析自我適合往哪方面發展。

  三:

  一,如果非常多人都想做Linux,那麼就要對Linux要 比較熟悉。這個熟悉不是說對核心,對程式碼有多瞭解,而是至少要會基本的操作,非常難想象讓一個連編譯程式,編輯文字檔案都非常困難的人去弄嵌入式的軟體吧。總之在進入嵌入式這個領域之前要對自己評估一下,看看自己是不是準備好了去學習嵌入式相關的東西。

  二,要捨得花錢買研發板。公欲善其技,必先利其器。也就是說,理論上可能掌控了非常多,不過不去實踐,那隻能是紙上談兵,這樣是無法學好嵌入式的。弄個研 發板自己擺弄擺弄,即使什麼都不懂,也能按照說明書把廠家給的程式下載到研發板上執行執行,先知其然,然後再通過具體的學習知其所以然,這樣能避免學習中 的枯燥。目前市場上研發板的種類繁多,相同CPU的板子價格卻相差非常多,令非常多人都不知道怎麼選擇購買。我的看法是,儘量買大廠的產品。因為在初學階 段學習資料少是個非常頭疼的事,非常多時候都是無從下手,不知道怎麼去做,那麼隨研發板附送的資料就非常重要了。大廠技術比較強,附帶的程式都是能在板子 上執行的,例如我買的優龍ST2410這個板子不是廣告啊,光碟上帶了一個bootloader,個2.4.18的核心,更有一個cramfs,這些 程式的原始碼都是廠家事先做好或修改好的,完全適用於初學者使用。而有些實力不行的小廠家的資料不齊全,我們學習的時候需要自己弄bootloader什 麼的,那入門就非常難了。不過大廠的板子都非常貴,大家能根據預算來選擇適合自己的研發板,不過無論怎樣,在學習上投資都是值得的。

  三,不要事無鉅細的學習,要有明確的目標。我最開始給自己制定的學習是:學習arm體系結構 -> 學習arm彙編 -> 自己移植bootloader -> 自己移植kernel -> 做應用,不過不久就被我否決了,因為這個過程實在是太枯燥太痛苦了,在學習資料少,沒人指導的情況下根本無法進展。於是我決定使用廠家的程式碼來“玩”研發 板,自己弄些應用上去。先是完全使用廠家給的bootloader,kernel,cramfs。之後發現cramfs中的一些控制Linux初始化的文 件不符合我的需求,於是修改cramfs,刪除了QT,修改了網絡卡初始的IP地址,安裝到板子上能運行了之後就開始嘗試做一些應用,比如hello world這樣的程式。最後移植了一個mpg123到板子上。完萬能在不知道原理的情況下來使用板子的一些功能,等熟悉板子了再回頭學習其中的道理,這樣 就容易一些。學習嵌入式就是這樣,根據問題來選擇學習的內容,否則會非常盲目,最後就失去信心了。

  四,要有耐心。不能否認,在學習一門自己完全不瞭解的技術是非常煩人的。嵌入式的複雜在於他的交叉性。也就是說為了研究某一個嵌入式的問題,你有可能得學 習非常多其他的知識,比如作業系統,編譯,體系結構等等,那麼對於這種情況需要我們有足夠的耐心。我在交叉編譯mpg123的時候前幾次無論怎麼修改 makefile都無法編譯成功,最後我發現我用的arm-linux-gcc是2.9版本的,比較老,於是我換成新的3.4.1版本,就ok了。

  以上是我初學嵌入式所獲得的一些淺顯的經驗,基本都是基於軟體方面的,硬體的DIY我就不行了。希望我的經驗能給大家一些幫助。

  剛剛和LUPA的嵌入式版主要了uboot的程式碼,接下來的我想研究研究廠家的bootloader程式碼然後移植一下uboot。

  相關文章: