嵌入式系統(tǒng)學(xué)習(xí)心得(二)
嵌入式系統(tǒng)無(wú)疑是當(dāng)前最熱門(mén)最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。嵌入式系統(tǒng)用在一些特定專(zhuān)用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲(chǔ)器等)非常有限,并且對(duì)成本很敏感,有時(shí)對(duì)實(shí)時(shí)響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智能化,嵌入式更顯重要。像我們平常常見(jiàn)到的手機(jī)、PDA、電子字典、可視電話(huà)、VCD/DVD/MP3 Player、數(shù)字相機(jī)(DC)、數(shù)字?jǐn)z像機(jī)(DV)、U-Disk、機(jī)頂盒(Set Top Box)、高清電視(HDTV)、游戲機(jī)、智能玩具、交換機(jī)、路由器、數(shù)控設(shè)備或儀表、汽車(chē)電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空設(shè)備等等都是典型的嵌入式系統(tǒng)。
本文引用地址:http://www.ex-cimer.com/article/201808/385407.htm看到了嵌入式系統(tǒng)的范圍,你也應(yīng)該知道嵌入式系統(tǒng)工程師是做什么的,就是開(kāi)發(fā)上面的那些電子產(chǎn)品的工程師。
關(guān)于如何學(xué)習(xí)嵌入式?
學(xué)習(xí)嵌入式,該學(xué)習(xí)什么基本的知識(shí)呢?
首先C語(yǔ)言,這個(gè)是毋庸置疑的,不管是做嵌入式軟件還是硬件開(kāi)發(fā)的人員,對(duì)C語(yǔ)言的掌握這個(gè)是必需的,特別是對(duì)于以后致力于嵌入式軟件開(kāi)發(fā)的人,現(xiàn)在絕大部分都是用C語(yǔ)言,你說(shuō)不掌握它可以嗎?至于如何學(xué)習(xí)C語(yǔ)言,我想這些基礎(chǔ)的知識(shí)每個(gè)人都有自己的方法,關(guān)鍵要去學(xué)習(xí),看書(shū)也好,網(wǎng)上找些視頻看也好。很多人會(huì)問(wèn),C語(yǔ)言要學(xué)到怎么樣,我覺(jué)得這沒(méi)有標(biāo)準(zhǔn)的答案。我想至少你在明白了一些基礎(chǔ)的概念后,就該寫(xiě)代碼了,動(dòng)手才是最重要的,當(dāng)你動(dòng)手了,遇到問(wèn)題了,再反過(guò)來(lái)學(xué)習(xí),反過(guò)來(lái)查查課本,那時(shí)的收獲就不是你死看書(shū)能得到的。
其次,應(yīng)該對(duì)操作系統(tǒng)有所了解,這對(duì)你對(duì)硬件和軟件的理解,絕對(duì)有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線(xiàn)程,系統(tǒng)如何來(lái)分配資源的,系統(tǒng)如何來(lái)管理硬件的,當(dāng)然,不是看書(shū)就能把這些理解透,如果不是一時(shí)能理解,沒(méi)關(guān)系,多看看,結(jié)合以后的項(xiàng)目經(jīng)驗(yàn),會(huì)有更好的理解的。
還有應(yīng)該學(xué)習(xí)嵌入式系統(tǒng),如linux或者wince下的編程,這些對(duì)以后做應(yīng)用的編程很有幫助,當(dāng)然,如果做手機(jī)的話(huà),那可以學(xué)習(xí)MTK、塞班、Android等操作系統(tǒng),Android是以后發(fā)展的趨勢(shì),現(xiàn)在很熱門(mén),Android也是基于linux系統(tǒng)封裝的,所以建議先學(xué)習(xí)下linux。
還有,應(yīng)該學(xué)習(xí)下單片機(jī)或者ARM或者M(jìn)IPS,很多人說(shuō)我沒(méi)有單片機(jī)的經(jīng)驗(yàn),直接學(xué)ARM可以嗎?我覺(jué)得那完全沒(méi)有問(wèn)題的,當(dāng)然如果你學(xué)習(xí)過(guò)單片機(jī),那最好不過(guò)了,以后學(xué)習(xí)ARM就更簡(jiǎn)單了。
最后如果你把以上的知識(shí)都有所了解后,就該去閱讀閱讀一些優(yōu)秀的代碼,比如結(jié)合arm芯片手冊(cè)學(xué)習(xí)去學(xué)習(xí)下UBOOT的源代碼,了解下最小的系統(tǒng)開(kāi)發(fā),那對(duì)你整個(gè)嵌入式開(kāi)發(fā)的非常有幫助的,可以的話(huà),還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會(huì)很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
至于上面說(shuō)的知識(shí)如何學(xué)習(xí)呢?每個(gè)人都應(yīng)該去找自己最好的方法,所謂的最好的方法就是最適合自己的方法。很多人看不進(jìn)書(shū),那就去看看視頻吧。視頻也應(yīng)該要選擇,不是隨便看看,應(yīng)該要有所選擇,有所挑選。我也是這樣一路走過(guò)來(lái)的,不過(guò)我這人比較懶,我看不進(jìn)書(shū),一看書(shū)我就想睡覺(jué),所以這幾年我都是看視頻過(guò)來(lái)的,現(xiàn)在也算學(xué)有所成,但也不敢說(shuō)是高手吧。
我在網(wǎng)上看到,有人把自己學(xué)習(xí)嵌入式的視頻總結(jié)出來(lái),嵌入式系列實(shí)踐和視頻教程,大家可以看看網(wǎng)址我仔細(xì)看了覺(jué)得很不錯(cuò),我本來(lái)也想整理下,可是奈何我自己的電腦硬盤(pán)空間才40G,沒(méi)有辦法,時(shí)間也是不夠,心有余而力不足,我不是在幫他做廣告,雖然要花錢(qián),我覺(jué)得算不錯(cuò),至少自己不用去整理和花大量的時(shí)間去找資源,當(dāng)然如果網(wǎng)上有的下,你網(wǎng)速和硬盤(pán)都?jí)虻脑?huà),我建議大家自己網(wǎng)上下也好。想想我自己該開(kāi)始學(xué)的時(shí)候,那時(shí)視頻資源少之又少,我買(mǎi)書(shū)和買(mǎi)視頻至少花了幾千塊,但是我覺(jué)得那很值,至少我現(xiàn)在賺回來(lái)了很多知識(shí)。
最后,希望這篇文章對(duì)熱愛(ài)嵌入式,想致力于嵌入式開(kāi)發(fā)的朋友有所幫助。送給大家一句簡(jiǎn)單而又樸素的話(huà),堅(jiān)持就是勝利,貴在堅(jiān)持,也可以看看如何堅(jiān)持嵌入式學(xué)習(xí)!
評(píng)論