當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > IT培訓(xùn)問(wèn)題庫(kù) > 小白入門(mén)你還在為嵌入式學(xué)習(xí)路線(xiàn)在發(fā)愁嗎
嵌入式學(xué)習(xí)路線(xiàn)
現(xiàn)在學(xué)習(xí)嵌入式開(kāi)發(fā)的朋友是越來(lái)越多,人多起來(lái)了總有一些朋友在學(xué)習(xí)思路總是出現(xiàn)一些問(wèn)題,今天我作為一個(gè)資深的一瓶子不滿(mǎn)半瓶子晃蕩的嵌入式工程師,來(lái)給大家把我的嵌入式學(xué)習(xí)路線(xiàn)分享出來(lái),希望學(xué)習(xí)過(guò)程中不要迷茫。
首先想要學(xué)習(xí)嵌入式要先了解嵌入式他到底是個(gè)什么樣的技術(shù)。
嵌入式系統(tǒng)(Embedded system),是一種“完全嵌入受控器件內(nèi)部,為特定應(yīng)用而設(shè)計(jì)的專(zhuān)用計(jì)算機(jī)系統(tǒng)”,根據(jù)英國(guó)電氣工程師協(xié)會(huì)( U.K. Institution of Electrical Engineer)的定義,嵌入式系統(tǒng)為控制、監(jiān)視或輔助設(shè)備、機(jī)器或用于工廠(chǎng)運(yùn)作的設(shè)備。與個(gè)人計(jì)算機(jī)這樣的通用計(jì)算機(jī)系統(tǒng)不同,嵌入式系統(tǒng)通常執(zhí)行的是帶有特定要求的預(yù)先定義的任務(wù)。由于嵌入式系統(tǒng)只針對(duì)一項(xiàng)特殊的任務(wù),設(shè)計(jì)人員能夠?qū)λM(jìn)行優(yōu)化,減小尺寸降低成本。嵌入式系統(tǒng)通常進(jìn)行大量生產(chǎn),所以單個(gè)的成本節(jié)約,能夠隨著產(chǎn)量進(jìn)行成百上千的放大。
接下來(lái)我們來(lái)看下關(guān)于嵌入式的一個(gè)學(xué)習(xí)路線(xiàn)
嵌入式IC
嵌入式,其實(shí)這個(gè)概念其實(shí)很簡(jiǎn)單也很復(fù)雜,說(shuō)起來(lái)很矛盾,但事實(shí)如此。簡(jiǎn)單是說(shuō),嵌入式就是一個(gè)針對(duì)特定功能的計(jì)算機(jī)系統(tǒng),系統(tǒng)可大可小,功能可定制。理解起來(lái)像ATM機(jī)器、手持PDA、機(jī)器人、無(wú)人機(jī)。但說(shuō)復(fù)雜的是嵌入式領(lǐng)域太雜,不管具體怎么劃分的,從我工作至今所了解的。嵌入式硬件工程師、嵌入式軟件工程師、嵌入式系統(tǒng)工程師、嵌入式驅(qū)動(dòng)工程師等等。
不管這些職位是否正確與合理,但市場(chǎng)上就是存在,為什么傳統(tǒng)行業(yè)的職位都要冠上“嵌入式”三個(gè)字?硬件工程師、軟件工程師、內(nèi)核工程師、驅(qū)動(dòng)工程師不好嗎?
個(gè)人理解許多職務(wù)加上嵌入式,大概是覺(jué)得既然是你是做嵌入式的,那必然這些領(lǐng)域都要熟悉,你嵌入式硬件工程師必然要會(huì)軟件編程了,你嵌入式軟件工程師必然會(huì)電路設(shè)計(jì),最基本的原理圖必須能看懂吧。
電路原理圖
學(xué)習(xí)嵌入式能做什么?
峰回路轉(zhuǎn),那么我先說(shuō)一下學(xué)習(xí)嵌入式能干啥?先說(shuō)人才市場(chǎng),你可以做單片機(jī)開(kāi)發(fā)基本的51、avr、stm32(雖說(shuō)ARM-M核,但還是覺(jué)得單片機(jī)貼切),還可以做ARM開(kāi)發(fā)、Linux C開(kāi)發(fā)、Linux內(nèi)核開(kāi)發(fā)、Linux驅(qū)動(dòng)開(kāi)發(fā)等等,其中要細(xì)分還能分出更多。當(dāng)然更多人認(rèn)為后四個(gè)才是真正嵌入式。
既然嵌入式路子這么多,那么不幸的是,這些也是你要學(xué)的。
嵌入式工程師
要不要學(xué)習(xí)嵌入式?
要不要學(xué)?最重要的是“興趣”、“興趣”、“興趣”,重要的事情說(shuō)三遍,想學(xué)嵌入式一定是要對(duì)這個(gè)感興趣,不然那就是無(wú)趣的,相反的話(huà)那就是一條探險(xiǎn)之路,學(xué)完讓你擁有前所未有的成就感。如果奔著高薪offer的話(huà),勸你換條路,畢竟后悔學(xué)的不在少數(shù)。因?yàn)榍度胧介T(mén)檻高,薪水雖說(shuō)不低,但對(duì)于你學(xué)習(xí)的知識(shí)。和其他行業(yè)不能比。如IOS、JAVA、PHP等等,這些都可以速成,4個(gè)月0基礎(chǔ)上崗不是太大問(wèn)題。
二進(jìn)制代碼
基本學(xué)習(xí)路線(xiàn)
首先C語(yǔ)言編程-》電路基礎(chǔ)-》高級(jí)C語(yǔ)言編程-》數(shù)字電路基礎(chǔ)-》匯編原理-》單片機(jī)C語(yǔ)言編程-》模擬電路基礎(chǔ)-》Linux 操作系統(tǒng)-》數(shù)據(jù)結(jié)構(gòu)-》電路PCB設(shè)計(jì)-》Linux C程序設(shè)計(jì)-》ARM開(kāi)發(fā)-》Linux C高級(jí)編程-》Linux內(nèi)核開(kāi)發(fā)-》Linux驅(qū)動(dòng)開(kāi)發(fā)。
以上是傳統(tǒng)學(xué)習(xí)方法,毫無(wú)疑問(wèn)這是極其耗費(fèi)時(shí)間的一個(gè)路子,本人也是這么過(guò)來(lái)的。但對(duì)于在職的人來(lái)說(shuō)就有點(diǎn)尷尬了。那么下面這個(gè)路子是適合在職人員學(xué)習(xí)。
ubuntu操作系統(tǒng)
速成方法
首先你可能有一定的編程基礎(chǔ)了,或者了解這個(gè)行業(yè)。那么你花上一兩天把C語(yǔ)言看一遍,接著買(mǎi)一個(gè)開(kāi)發(fā)板(看你未來(lái)發(fā)展方向選擇),一般開(kāi)發(fā)板自帶歷程很多,那么就花一陣子時(shí)間把這個(gè)開(kāi)發(fā)板玩透徹,可以在其基礎(chǔ)上制作一些有你想法的系統(tǒng)。然后在你電腦裝一個(gè)Linux操作系統(tǒng),一般UBUNTU就可以。買(mǎi)一本Linux C高級(jí)編程的書(shū)。在Linux平臺(tái)練習(xí)。最后買(mǎi)一個(gè)ARM開(kāi)發(fā)板,此時(shí)你已經(jīng)了解Linux編程了,那么順便了解一下交叉編譯,把之前的程序放到ARM開(kāi)發(fā)板里跑一跑。到這算是入門(mén)開(kāi)始。剩下的就是邊干邊學(xué)。實(shí)踐出真知。
嵌入式開(kāi)發(fā)板
一些領(lǐng)悟
其實(shí)學(xué)習(xí)嵌入式入門(mén)后的學(xué)習(xí)并不難,因?yàn)槟銜?huì)對(duì)他很感興趣。最重要的是實(shí)踐。正所謂,知而不行,是為不知;行而不知,可以致知。最后祝大家學(xué)習(xí)愉快!