嵌入式的前景和待遇都非常好,一般從事嵌入式的待遇都在6000-20000之間,但是對于一個(gè)零基礎(chǔ)的人來說,學(xué)習(xí)嵌入式還是有一定難度的。對于一個(gè)大學(xué)電子或計(jì)算機(jī)專業(yè)的人員來說,學(xué)習(xí)單片機(jī),嵌入式要方便一些。對于沒有電路基礎(chǔ),沒有編程基礎(chǔ)的人來說,學(xué)習(xí)應(yīng)該先基本掌握電路和c語言編程。下面就介紹一下:零基礎(chǔ)怎么學(xué)習(xí)嵌入式。
一、C開發(fā)經(jīng)驗(yàn)
條件:c語言
c語言也被稱為是上帝的語言,不管是做嵌入式軟件還是硬件開發(fā)的人員,對C語言的掌握這個(gè)是必需的,特別是對于以后致力于嵌入式軟件開發(fā)的人,現(xiàn)在絕大部分都是用C語言。
C語言怎么學(xué)?對于計(jì)算機(jī)專業(yè)的人來講,大部分人的第一種編程語言就是c語言,所以這門學(xué)科對于他們來講并不是什么難事。0基礎(chǔ)學(xué)習(xí)C語言,可以多看書、看視頻,明白了一些基礎(chǔ)的概念后,就該寫代碼了,動(dòng)手才是最重要的,當(dāng)你動(dòng)手了,遇到問題了,再反過來學(xué)習(xí),反過來查查課本,那時(shí)的收獲就不是你死看書能得到的。
二、網(wǎng)絡(luò)、操作系統(tǒng)、體系結(jié)構(gòu)
條件:Linux,各種書,算法、例程。
應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線程,系統(tǒng)如何來分配資源的,系統(tǒng)如何來管理硬件的,通過C編程實(shí)現(xiàn)簡單的網(wǎng)絡(luò)等知識(shí)的算法和過程。
開發(fā)者應(yīng)該對操作系統(tǒng)有所了解,驅(qū)動(dòng)分為兩種,一種是沒有操作系統(tǒng)的驅(qū)動(dòng)程序,也就是直接用c語言來對硬件進(jìn)行編程,那么另外一種就是有操作系統(tǒng)的驅(qū)動(dòng)程序,需要集合操作系統(tǒng)的接口來編寫驅(qū)動(dòng)程序才可正常使用,當(dāng)然在兩種模式中,使用最多且就業(yè)需求最多的就是第二種有操作系統(tǒng)的驅(qū)動(dòng)程序,所以想要寫驅(qū)動(dòng)程序首先需要掌握操作系統(tǒng)的相關(guān)知識(shí),而嵌入式的驅(qū)動(dòng)程序大多是用linux系統(tǒng),所以應(yīng)該熟練掌握linux操作系統(tǒng)是成為開發(fā)嵌入式驅(qū)動(dòng)的必要條件(切記不是唯一的條件,因?yàn)檫有wince等其他操作系統(tǒng))。
三、嵌入式系統(tǒng)概念
條件:各個(gè)嵌入式網(wǎng)站,討論組,書籍
少提問(尤其是等著天上掉餡餅,這主要是防止增長惰性,也解決不了實(shí)際問題),多思考。 還有應(yīng)該學(xué)習(xí)嵌入式系統(tǒng),如linux或者wince下的編程,這些對以后做應(yīng)用的編程很有幫助,當(dāng)然,如果做手機(jī)的話,那可以學(xué)習(xí)MTK、塞班、Android等操作系統(tǒng),Android是以后發(fā)展的趨勢,現(xiàn)在很熱門,Android也是基于linux系統(tǒng)封裝的,所以建議先學(xué)習(xí)下linux。
四、嵌入式開發(fā)實(shí)踐
條件:各種嵌入式系統(tǒng)開發(fā)工具的demo版,包括編譯器,仿真器。可以找高手們要,也可以下載。
這里有兩個(gè)分支,一個(gè)是基于MCU/MDSP的嵌入式系統(tǒng)開發(fā),一個(gè)是象PalmOS,WinCE,uC/OS II等RTOS下的應(yīng)用軟件開發(fā)。對硬件感興趣,想成為真正高手的由第一個(gè)分支入手,以后進(jìn)入第二個(gè)分支;如果十分厭煩硬件,只想停留在軟件開發(fā)上的,可以只由第二個(gè)分支入手,以后就和pc上的開發(fā)沒有什么本質(zhì)上的區(qū)別了,找份不錯(cuò)的工作應(yīng)該沒問題,可以不用進(jìn)行下面的步驟了,還有,應(yīng)該學(xué)習(xí)下單片機(jī)或者ARM或者M(jìn)IPS,很多人說我沒有單片機(jī)的經(jīng)驗(yàn),直接學(xué)ARM可以嗎?我覺得那完全沒有問題的,當(dāng)然如果你學(xué)習(xí)過單片機(jī),那最好不過了,以后學(xué)習(xí)ARM就更簡單了。
五、硬件開發(fā)
條件:各種嵌入式芯片、存儲(chǔ)器等電路器件,protel99等電路設(shè)計(jì)軟件,電路板制作。
這時(shí)候該有開發(fā)條件了,最起碼是51系列,這個(gè)比較方便。電路的設(shè)計(jì)內(nèi)容較多,不過看起來嚇人,實(shí)際上比軟件要簡單的多。只要下功夫,實(shí)踐會(huì)告訴你一切。 最后如果你把以上的知識(shí)都有所了解后,就該去閱讀閱讀一些優(yōu)秀的代碼,比如結(jié)合arm芯片手冊學(xué)習(xí)去學(xué)習(xí)下UBOOT的源代碼,了解下最小的系統(tǒng)開發(fā),那對你整個(gè)嵌入式開發(fā)的非常有幫助的,可以的話,還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會(huì)很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
六、硬件工程/軟件工程/項(xiàng)目管理
條件: 各個(gè)芯片詳細(xì)資料和使用經(jīng)驗(yàn),軟件工程知識(shí),項(xiàng)目管理知識(shí),培訓(xùn),接觸大型項(xiàng)目。
至于上面說的知識(shí)如何學(xué)習(xí)呢?每個(gè)人都應(yīng)該去找自己最好的方法,所謂的最好的方法就是最適合自己的方法。很多人看不進(jìn)書,那就去看看視頻吧。如果這些基礎(chǔ)你相對薄弱,又遇到自己解決不了的問題,可以參加嵌入式訓(xùn)練營,讓你對嵌入式有全面并且豐富的了解。
零基礎(chǔ)學(xué)習(xí)嵌入式確實(shí)有一定的難度,如果你是零基礎(chǔ)并且沒有任何編程基礎(chǔ)建議你參加嵌入式培訓(xùn)班,嵌入式既要會(huì)編程而且硬件動(dòng)手能力也要強(qiáng)。
本文由培訓(xùn)無憂網(wǎng)達(dá)內(nèi)教育課程顧問老師整理發(fā)布,更多課程信息可關(guān)注嵌入式開發(fā)培訓(xùn)或添加老師微信:15033336050
注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.universityresearchassociates.com/news-id-5228.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注嵌入式開發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050