步步為營(yíng),如何深入學(xué)習(xí)嵌入式

2014年06月23日 09:29 來(lái)源:互聯(lián)網(wǎng) 作者:秩名 我要評(píng)論(0)

標(biāo)簽:嵌入式(303991)

  實(shí)踐當(dāng)然是最鍛煉人的方式,但是我想在校生很少有這樣的機(jī)會(huì),別說(shuō)本科生,碩士生也未必有條件。所以我想學(xué)習(xí)嵌入式要從個(gè)人的知識(shí)背景和現(xiàn)實(shí)條件出發(fā)。訂立合適的階段目標(biāo),在允許的條件下多動(dòng)手多思考。

  一般情況下對(duì)于硬件設(shè)備是比較短缺的。但是可以從軟件方面和嵌入式系統(tǒng)開(kāi)發(fā)模式上下功夫,提醒大家一點(diǎn),嵌入式系統(tǒng)開(kāi)發(fā)設(shè)計(jì)的內(nèi)容知識(shí)很多,所以大家不要亂,在了解嵌入式系統(tǒng)開(kāi)發(fā)的體系結(jié)構(gòu)后,一步一步的下手,最容易上手的是linux下的C,比如ucos(有開(kāi)放源代碼),雖然可能無(wú)法在硬件上仿真,但也不必著急。wince,palmos上手都很容易。無(wú)論對(duì)于初學(xué)者還是自以為是高手的人來(lái)說(shuō),編程水平(這可不受硬件條件限制)絕對(duì)是沒(méi)有止境的,有了較高的編程水平(嵌入式主要是C,當(dāng)然OO的幾種語(yǔ)言c++java是發(fā)展趨勢(shì)),等到有機(jī)會(huì)的時(shí)候及時(shí)的補(bǔ)充硬件知識(shí),會(huì)很快的成為高手。

  還有,一定記住,學(xué)習(xí)嵌入式,“要想辦法,不要找理由”。當(dāng)年在dos下用tc編程時(shí)的條件,現(xiàn)在回想起來(lái)簡(jiǎn)直就是奇跡。

  我推薦一條發(fā)展道路吧,僅供參考,

  1、C開(kāi)發(fā)經(jīng)驗(yàn)

  條件:linux(這都有吧)

  方法:隨便,主要是掌握ansiC編程(不包括gtk,qt等圖形可視化開(kāi)發(fā))

  2、網(wǎng)絡(luò)操作系統(tǒng)、體系結(jié)構(gòu)

  條件:linux,各種書(shū),算法、例程。

  方法:通過(guò)C編程實(shí)現(xiàn)簡(jiǎn)單的網(wǎng)絡(luò)等知識(shí)的算法和過(guò)程。

  3、嵌入式系統(tǒng)概念

  條件:各個(gè)嵌入式網(wǎng)站,討論組,書(shū)籍

  方法:少提問(wèn)(尤其是等著天上掉餡餅,這主要是防止增長(zhǎng)惰性,也解決不了實(shí)際問(wèn)題),多思考。

  4、嵌入式開(kāi)發(fā)實(shí)踐

  條件:各種嵌入式系統(tǒng)開(kāi)發(fā)工具的demo版(或者D版,如果有的話),包括編譯器,仿真器。可以找高手們要,也可以下載。   方法:這里有兩個(gè)分支,一個(gè)是基于mcu/dsp的嵌入式系統(tǒng)開(kāi)發(fā),一個(gè)是象palmos,wince,ucos等rtos下的應(yīng)用軟件開(kāi)發(fā)。對(duì)硬件感興趣,想成為真正高手的由第一個(gè)分支入手,以后進(jìn)入第二個(gè)分支;如果十分厭煩硬件,只想停留在軟件開(kāi)發(fā)上的,可以只由第二個(gè)分支入手,以后就和pc上的開(kāi)發(fā)沒(méi)有什么本質(zhì)上的區(qū)別了,找份不錯(cuò)的工作應(yīng)該沒(méi)問(wèn)題,可以不用進(jìn)行下面的步驟了,感興趣可以參考第6條。

  5、硬件開(kāi)發(fā)

  條件:各種嵌入式芯片、存儲(chǔ)器等電路器件,protel99等電路設(shè)計(jì)軟件,電路板制作。

  方法:這時(shí)候該有開(kāi)發(fā)條件了,最起碼是51系列,這個(gè)比較方便。電路的設(shè)計(jì)內(nèi)容較多,不過(guò)看起來(lái)嚇人,實(shí)際上比軟件要簡(jiǎn)單的多。只要下功夫,實(shí)踐會(huì)告訴你一切。   6、硬件工程/軟件工程/項(xiàng)目管理

  條件: 各個(gè)芯片詳細(xì)資料和使用經(jīng)驗(yàn),軟件工程知識(shí),項(xiàng)目管理知識(shí),培訓(xùn),大型項(xiàng)目參與經(jīng)驗(yàn)

  方法:已經(jīng)是高手了,但是學(xué)無(wú)止境,沾沾自喜于已有的知識(shí)是致命的。那個(gè)下一步。。。,你該是管理者了。

  拋磚引玉,以上出自我的經(jīng)驗(yàn),歡迎各路高手們補(bǔ)充,初學(xué)者提問(wèn)。

  為了技術(shù),一路狂奔。。。

  要想成為高手中的高手,最好從鉆研如下領(lǐng)域修煉:

  1,分析一種RTOS的源代碼--UCOS最容易;

  2,分析一種通訊協(xié)議棧的實(shí)現(xiàn)方式--TCP/IP最實(shí)用;

  3,精通一種DSP的開(kāi)發(fā)集成環(huán)境--TI CCS2.1最優(yōu)秀,精華在其內(nèi)帶的RTOS;

  4,精通一種單片機(jī)的開(kāi)發(fā)集成環(huán)境--keil C最經(jīng)典;

  5,精通一種MCU的開(kāi)發(fā)集成環(huán)境--ADS 1.2最流行;

  要想成為大師級(jí)人物再?gòu)娜缦骂I(lǐng)域開(kāi)始修煉:

  1,精通一種系統(tǒng)建模語(yǔ)言和工具--Telelogic tau SDL/UML suit最經(jīng)典;

  2,精通一種算法仿真工具--Matlab simulink 最便宜;

  要想檢驗(yàn)一下自己是否到達(dá)了至尊級(jí)人物,可以做如下的事:

  動(dòng)手搭建一套紅外或者藍(lán)牙通訊原型系統(tǒng),模擬前端可以用現(xiàn)成的,基帶用DSP,主控用個(gè)32BMCU,DSP和協(xié)議軟件自己寫(xiě)。當(dāng)然不可能做全,做個(gè)子集就可以了。