 如何學(xue)習(xi)嵌入式(shi)?嵌入式(shi)大牛給你指點迷(mi)津
							時間:2018-07-31      來源(yuan):嵌入式論壇
							如何學(xue)習(xi)嵌入式(shi)?嵌入式(shi)大牛給你指點迷(mi)津
							時間:2018-07-31      來源(yuan):嵌入式論壇 
							如何(he)學習嵌(qian)入式
想要學(xue)(xue)習(xi)嵌入式首(shou)先要找到(dao)學(xue)(xue)習(xi)的(de)(de)方(fang)法以(yi)及一個(ge)明確(que)(que)的(de)(de)學(xue)(xue)習(xi)路(lu)線,始自己在(zai)學(xue)(xue)習(xi)過程中(zhong)能夠始終保(bao)持一個(ge)明確(que)(que)的(de)(de)學(xue)(xue)習(xi)目標,不至(zhi)于在(zai)遇(yu)到(dao)的(de)(de)困難的(de)(de)迷茫了放(fang)棄了。
下面我們(men)就來詳細的了解一個關于應該如何學習嵌入式!
這個問題相信是(shi)困擾所有(you)嵌入式初學(xue)者的難(nan)題,下面課(ke)程(cheng)是(shi)嵌入式學(xue)習必學(xue)的: C語言; C++;操作系統;計算(suan)機(ji)組成原理; linux編程(cheng); 51單片機(ji); arm;硬(ying)件編程(cheng)語言(FPGA);模擬(ni)電路&數字電路。
1、c\c++語(yu)言(yan),這是計算機(ji)行業的(de)必修課,必須找扎實(shi)實(shi)學好,可以安裝 turbo c編(bian)(bian)(bian)譯器為開發環境,聯系C語(yu)言(yan)編(bian)(bian)(bian)程; 安裝vc++6.0學習C++編(bian)(bian)(bian)程。
2、操(cao)作(zuo)系(xi)(xi)統,先在電(dian)腦上安裝一(yi)個vmware work station,然(ran)后在vmware work station里安裝一(yi)個linux(redhat 企(qi)業版)虛擬機。學(xue)習一(yi)下操(cao)作(zuo)系(xi)(xi)統的基(ji)本原理,熟悉(xi)linux環境下的開發環境,然(ran)后你就可以照著《自己動手寫操(cao)作(zuo)系(xi)(xi)統》寫個操(cao)作(zuo)系(xi)(xi)統試試。
3、計算機組成原理,熟悉計算機的(de)基本原理,看看一個(ge)計算機的(de)基本組成及軟件在里面是如何(he)跑的(de)。
4、《unix/linux編(bian)程(cheng)實踐教(jiao)程(cheng)》可以(yi)說是linux編(bian)程(cheng)的(de)(de)必修課,很(hen)不錯的(de)(de)一本書,初(chu)學(xue)嵌入式的(de)(de)朋友可以(yi)看(kan)看(kan)。
5、單片(pian)機,其實(shi)就是一臺電腦,像現在(zai)的汽車控制、led控制、屏幕亮光程度控制,它都可以實(shi)現,自己(ji)買塊開發(fa)板(ban)弄一下,你能學到很(hen)多的別人學不到的。
6、arm,現在流(liu)行的微(wei)機,說白了就是32位的單(dan)片機,還可以跑操(cao)(cao)作(zuo)系(xi)統哦,自己想辦法移植一個操(cao)(cao)作(zuo)系(xi)統上去吧
7、硬件編(bian)程語言(FPGA),芯片到底是怎么(me)做成的,學(xue)習這門課,你就知道了
8、模擬電路&數字電路,硬(ying)件(jian)的基礎,如果可(ke)以的話,學習(xi)下protel ,自己做個硬(ying)件(jian)pcb板試試。
計(ji)算機(ji)這(zhe)行都(dou)是偏向(xiang)于實踐的(de)課(ke)程,所以(yi)要注重動手(shou)能力,學(xue)習嵌入(ru)式這(zhe)基本課(ke)程的(de)時候,你(ni)可以(yi)按(an)照這(zhe)樣的(de)順序來學(xue)習:
1:C語言、計算(suan)機組(zu)成原理、模擬電路&數(shu)字電路
2:匯編語言(yan)、單片機、操作系統、C++
3:硬(ying)件編程語言、arm
嵌(qian)入式(shi)開發(fa)大抵分四個方向(xiang),硬件、驅動(dong)、內核、應(ying)用,如(ru)果(guo)是希(xi)望向(xiang)嵌(qian)入式(shi)軟(ruan)件方向(xiang)發(fa)展的(de)話,目(mu)前(qian)常見(jian)的(de)是
嵌入式(shi)Linux+ARM方向(xiang),關于這個方向(xiang),大概分(fen)3個階(jie)段:
1、嵌入式linux上層應用(yong),包(bao)括QT的GUI開發
2、嵌入(ru)式linux系統開發
3、嵌(qian)入(ru)式(shi)linux驅(qu)動開發 嵌(qian)入(ru)式(shi)目前主(zhu)要面向的幾個(ge)操作系(xi)統是,LINUX,WINCE、VxWorks等(deng)等(deng) Linux是開源免費的,而且其源代碼是開放的,更(geng)加適合我們學習嵌(qian)入(ru)式(shi)。
自學(xue)的話你可(ke)以(yi)嘗試以(yi)下路線(xian):
(1) C語(yu)言是(shi)所有編(bian)程語(yu)言中(zhong)的(de)(de)(de)強者,單(dan)片(pian)機、DSP、類似ARM的(de)(de)(de)種(zhong)種(zhong)芯片(pian)的(de)(de)(de)編(bian)程都(dou)可以用C語(yu)言搞定(ding)),因此必須非常熟練的(de)(de)(de)掌握。 推薦書籍:譚浩強的(de)(de)(de)很不(bu)錯(cuo),《The C Programming Language》 這本(ben)經典的(de)(de)(de)教材是(shi)老外寫的(de)(de)(de),也有中(zhong)譯版本(ben)。
(2) 操作(zuo)系統(tong)原理(li),是必(bi)需(xu)的(de),如(ru)果(guo)你是計(ji)(ji)算機(ji)專業(ye)畢業(ye)那也(ye)就無所謂了,如(ru)果(guo)是非(fei)計(ji)(ji)算機(ji)專業(ye)的(de)就必(bi)須找一(yi)本(ben)比較淺顯的(de)計(ji)(ji)算機(ji)原理(li)書籍看一(yi)看,把啥(sha)叫“進程”“線程”“系統(tong)調度”等等基(ji)本(ben)問題(ti)搞(gao)清(qing)楚。
(3) Linux操作系統就是用C語言編(bian)(bian)寫的(de),所以你(ni)也應該先學習下(xia)Linux方面的(de)編(bian)(bian)程,只有你(ni)會應用了,才能近一(yi)步去了解(jie)其內核的(de)精髓。 推(tui)薦(jian)書籍:《UNIX環(huan)境高級編(bian)(bian)程》(第2版(ban))
(4) 了(le)解ARM的架構,原(yuan)理(li),以及其(qi)匯編指(zhi)令,我們在嵌入(ru)式開發(fa)中,一般很少去(qu)寫匯編,但是起碼的要(yao)求(qiu)是能夠看懂arm匯編。
(5) 系統(tong)移植的(de)時候,就需要(yao)你(ni)從下(xia)層的(de)bootloader開始,然后內(nei)核(he)移植,文件系統(tong)移植等。而移植這部分對硬件的(de)依(yi)賴是非常大(da)的(de),其配置(zhi)步驟也相(xiang)對復雜,也沒有太多(duo)詳(xiang)細資料。
(6) 驅(qu)動(dong)開發 linux驅(qu)動(dong)程(cheng)序設計(ji)既是(shi)(shi)個極富有(you)挑戰(zhan)性的(de)(de)領(ling)域,又是(shi)(shi)一個博大(da)精(jing)深的(de)(de)內(nei)(nei)容。 linux驅(qu)動(dong)程(cheng)序設計(ji)本質是(shi)(shi)屬于linux內(nei)(nei)核(he)編程(cheng)范疇的(de)(de),因(yin)而是(shi)(shi)對(dui)linux內(nei)(nei)核(he)和內(nei)(nei)核(he)編程(cheng)是(shi)(shi)有(you)要求的(de)(de)。在學習前你要想了解linux內(nei)(nei)核(he)的(de)(de)組(zu)成(cheng),因(yin)為每一部分要詳細(xi)研究的(de)(de)話足(zu)夠可以擴(kuo)展(zhan)成(cheng)一本厚(hou)書。
給大家把(ba)一個(ge)嵌入式大方面的學(xue)習框(kuang)架搭(da)出來了,下面枝(zhi)枝(zhi)蔓(man)蔓(man)的如果你需要他們的資料可(ke)以跟在(zai)線人員要一下,這也是為(wei)了節約大家寶貴的學(xue)習時間。
最后呢(ni)祝大家能夠在學習的路上馬道成功。

