|
工作中,很多人問我,怎樣做才能快速的嵌入式了? 其實(shí),做工程是沒有捷徑可走的,下面我結(jié)合我的情況實(shí)際給你簡短的說一下:
先說做硬件:
把你的數(shù)字電路教材和模擬電路的教材讀熟,暫時(shí)先把重點(diǎn)放在數(shù)字電路上面,接著把微機(jī)原理和接口技術(shù)讀熟悉了,最好能用匯編寫幾個(gè)簡單的程序上機(jī)調(diào)試一下,這是很重要的。
完成上面的工作大概需要半年,不管你有多么的聰明,除非你以前這個(gè)基礎(chǔ)就打的不錯(cuò),否則,還是老老實(shí)實(shí)花上至少半年的時(shí)間!還是那句話,沒有捷徑可走,如果你相信那些什么“21天學(xué)通xx”什么的,那么我告訴你,放棄做工程吧!再說,你這么容易就學(xué)會(huì)了,別人也能的,你確定能拿到高薪嗎?
下一步,就是選擇一個(gè)DSP(或其它的嵌入式CPU)平臺(tái)作為你的目標(biāo)平臺(tái),先熟悉它的架構(gòu)和與外圍電路的接口,然后學(xué)習(xí)她的指令集,也要寫一些小程序去跑一下。這個(gè)時(shí)候,你應(yīng)該去買一個(gè)開發(fā)板了,一般的廠家附帶會(huì)給你一些demo程序,看懂它,理解它,修改它,在你的板子上跑一跑。
完成上面兩步,說明你已經(jīng)入了這個(gè)行業(yè)的門了,下一步,想成為高手的話,就是自己去設(shè)計(jì)一些項(xiàng)目了,這個(gè)階段所花的時(shí)間每個(gè)人都是不同的,要看你的造化(主要是前面的基礎(chǔ)是否牢固)了。 再說說軟件:
在嵌入式行業(yè),你想做軟件開發(fā)的話,沒別的,那就深入理解C語言,尤其是C的指針,如果你以前學(xué)過C,但是沒有意識(shí)到C相比其它的高級(jí)語言的優(yōu)點(diǎn)的話(不是聽別人說的,你自己的體會(huì)),你可以按下面步驟來理解C:
1、重新翻一遍C的教材,記住一些常用的C語法,但不要死摳語法;
2、從編譯器的角度來理解C;
從編譯原理的角度來理解你工作中使用的高級(jí)語言,如果你做到這一點(diǎn),至少有兩個(gè)好處:
第一個(gè)好處是避免一大堆低水平重復(fù)出現(xiàn)的編譯錯(cuò)誤。一名優(yōu)秀的Coder平均在一個(gè)工作日中應(yīng)該完成200行以上的源碼,其編譯錯(cuò)誤應(yīng)該控制在5個(gè)以下,要知道這200行源碼不是一次完成的,所以大多數(shù)情況下你都要追求一次編譯通過;
第二個(gè)好處是可以提高源碼的可讀性和效率。規(guī)范地編寫你的代碼使你自己的邏輯清晰,因?yàn)槟忝靼锥嗉訋讉(gè)括號(hào)和空行、多換行對(duì)齊、多注釋,編譯器是會(huì)自動(dòng)識(shí)別的,不影響程序執(zhí)行的效率,反過來,控制好遞歸調(diào)用和循環(huán)內(nèi)的if語句才是提高程序效率的關(guān)鍵,要全力避免遞歸,但要深刻理解遞歸,能通過自己建立堆棧來把遞歸程序轉(zhuǎn)換成非遞歸程序,要求還是較高的哦!
3、從硬件的角度來理解C。
完成上面3步,你就是C的高手了,接下來應(yīng)該去看看軟件工程方面的書了,這個(gè)我還不太懂,不敢妄言。
另外說說教材的選擇:學(xué)一門東西,選好你的教材,只要一本就可以了。堅(jiān)決防止這種情況的出現(xiàn):去圖書館借很多本書,像搶劫似的,而只是每一本都翻翻,就又還給圖書館了的!注意上面我把匯編語言放在硬件學(xué)習(xí)的板塊里面,是由于匯編跟硬件的關(guān)系太緊密了,以至于是先學(xué)匯編還是先學(xué)習(xí)硬件電路和CPU架構(gòu)成了要分清到底是“先有雞還是先有蛋”的千年哲學(xué)難題了。
|
|