|
學(xué)習嵌入式就業(yè)前景廣泛,你可以做手機、PDA、MP3、MP4、遙控玩具、psp、相機、家電控制(洗衣機、電飯煲等)、汽車(chē)導航儀,只要跟電子控制相關(guān)的。此外,嵌入式這個(gè)行業(yè)也利于個(gè)人創(chuàng )業(yè),這也是為什么越來(lái)越多的人參加嵌入式培訓的原因。
嵌入式技術(shù)文章鏈接:http://www.hqyj.com/news/emb128.htm?lcg-ee
如何學(xué)習嵌入式? 相信是困擾所有嵌入式初學(xué)者的難題,下面課程是嵌入式學(xué)習必學(xué)的: C語(yǔ)言; C++;操作系統;計算機組成原理; linux編程; 51單片機; arm;硬件編程語(yǔ)言(FPGA);模擬電路&數字電路。
1、c\c++語(yǔ)言,這是計算機行業(yè)的必修課,必須找扎實(shí)實(shí)學(xué)好,可以安裝 turbo c編譯器為開(kāi)發(fā)環(huán)境,聯(lián)系C語(yǔ)言編程; 安裝vc++6.0學(xué)習C++編程。
2、操作系統,先在電腦上安裝一個(gè)vmware work station,然后在vmware work station里安裝一個(gè)linux(redhat 企業(yè)版)虛擬機。學(xué)習一下操作系統的基本原理,熟悉linux環(huán)境下的開(kāi)發(fā)環(huán)境,然后你就可以照著(zhù) 《自己動(dòng)手寫(xiě)操作系統》寫(xiě)個(gè)操作系統試試。
3、計算機組成原理,熟悉計算機的基本原理,看看一個(gè)計算機的基本組成及軟件在里面是如何跑的。
4、《unix/linux編程實(shí)踐教程》可以說(shuō)是linux編程的必修課,很不錯的一本書(shū),初學(xué)嵌入式的朋友可以看看。
5、單片機,其實(shí)就是一臺電腦,像現在的汽車(chē)控制、led控制、屏幕亮光程度控制,它都可以實(shí)現,自己買(mǎi)塊開(kāi)發(fā)板弄一下,你能學(xué)到很多的別人學(xué)不到的。
6、arm,現在流行的微機,說(shuō)白了就是32位的單片機,還可以跑操作系統哦,自己想辦法移植一個(gè)操作系統上去吧
7、硬件編程語(yǔ)言(FPGA),芯片到底是怎么做成的,學(xué)習這門(mén)課,你就知道了
8、模擬電路&數字電路,硬件的基礎,如果可以的話(huà),學(xué)習下protel ,自己做個(gè)硬件pcb板試試。
計算機這行都是偏向于實(shí)踐的課程,所以要注重動(dòng)手能力,學(xué)習嵌入式這基本課程的時(shí)候,你可以按照這樣的順序來(lái)學(xué)習:
1:C語(yǔ)言、計算機組成原理、模擬電路&數字電路
2:匯編語(yǔ)言、單片機、操作系統、C++
3:硬件編程語(yǔ)言、arm
嵌入式開(kāi)發(fā)大抵分四個(gè)方向,硬件、驅動(dòng)、內核、應用,如果是希望向嵌入式軟件方向發(fā)展的話(huà),目前常見(jiàn)的是
嵌入式Linux+ARM方向,關(guān)于這個(gè)方向,大概分3個(gè)階段:
1、嵌入式linux上層應用,包括QT的GUI開(kāi)發(fā)
2、嵌入式linux系統開(kāi)發(fā)
3、嵌入式linux驅動(dòng)開(kāi)發(fā) 嵌入式目前主要面向的幾個(gè)操作系統是,LINUX,WINCE、VxWorks等等 Linux是開(kāi)源免費的,而且其源代碼是開(kāi)放的,更加適合我們學(xué)習嵌入式。
自學(xué)的話(huà)你可以嘗試以下路線(xiàn):
(1) C語(yǔ)言是所有編程語(yǔ)言中的強者,單片機、DSP、類(lèi)似ARM的種種芯片的編程都可以用C語(yǔ)言搞定),因此必須非常熟練的掌握。 推薦書(shū)籍:譚浩強的很不錯,《The C Programming Language》 這本經(jīng)典的教材是老外寫(xiě)的,也有中譯版本。
(2) 操作系統原理,是必需的,如果你是計算機專(zhuān)業(yè)畢業(yè)那也就無(wú)所謂了,如果是非計算機專(zhuān)業(yè)的就必須找一本比較淺顯的計算機原理書(shū)籍看一看,把啥叫“進(jìn)程”“線(xiàn)程”“系統調度”等等基本問(wèn)題搞清楚。
(3) Linux操作系統就是用C語(yǔ)言編寫(xiě)的,所以你也應該先學(xué)習下Linux方面的編程,只有你會(huì )應用了,才能近一步去了解其內核的精髓。 推薦書(shū)籍:《UNIX環(huán)境高級編程》(第2版)
(4) 了解ARM的架構,原理,以及其匯編指令,我們在嵌入式開(kāi)發(fā)中,一般很少去寫(xiě)匯編,但是起碼的要求是能夠看懂a(chǎn)rm匯編。
(5) 系統移植的時(shí)候,就需要你從下層的bootloader開(kāi)始,然后內核移植,文件系統移植等。而移植這部分對硬件的依賴(lài)是非常大的,其配置步驟也相對復雜,也沒(méi)有太多詳細資料。
(6) 驅動(dòng)開(kāi)發(fā) linux驅動(dòng)程序設計既是個(gè)極富有挑戰性的領(lǐng)域,又是一個(gè)博大精深的內容。 linux驅動(dòng)程序設計本質(zhì)是屬于linux內核編程范疇的,因而是對linux內核和內核編程是有要求的。在學(xué)習前你要想了解linux內核的組成,因為每一部分要詳細研究的話(huà)足夠可以擴展成一本厚書(shū)。
以上只不過(guò)是大概的框架,在實(shí)際的開(kāi)發(fā)中還會(huì )涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說(shuō)學(xué)習嵌入式的周期較長(cháng),門(mén)檻較高,自學(xué)的話(huà)更是需要較強的學(xué)習能力和專(zhuān)業(yè)功底。循序漸進(jìn),一步步扎實(shí)做好,只要能堅持下來(lái)一定會(huì )取得成功!
|
|