arm嵌入式技術(shù)學(xué)習(xí),arm嵌入式有什么需要注意的地方?
ARM嵌入式和單片機(jī)學(xué)習(xí)有著密不可分的關(guān)系,可以拋開復(fù)雜的軟件結(jié)構(gòu),先掌握硬件操作。ARM與單片機(jī)是有著許多區(qū)別的,相比來(lái)說(shuō)ARM要比單片機(jī)復(fù)雜的多。據(jù)某位知乎大神表示,往往單片機(jī)只需要對(duì)一個(gè)寄存器賦值即可初始化,而在ARM下就要調(diào)用庫(kù)函數(shù),另外,每個(gè)引腳其功能都多了許多,相應(yīng)的配置也會(huì)更為麻煩。但如果有了豐富的ARM的項(xiàng)目經(jīng)驗(yàn)就會(huì)發(fā)現(xiàn),其實(shí)它的應(yīng)用配置也是千篇一律,有章可循的。作為初學(xué)者首先要把ARM和單機(jī)片的區(qū)別了解清楚,在這里小編主要是從軟件和硬件方面來(lái)解說(shuō)的。
軟件方面:這應(yīng)該是最大的區(qū)別了。引入了操作系統(tǒng)。為什么引入操作系統(tǒng)?有什么好處嘛?1)方便。主要體現(xiàn)在后期的開發(fā),即在操作系統(tǒng)上直接開發(fā)應(yīng)用程序。不像單片機(jī)一樣一切都要重新寫。前期的操作系統(tǒng)移植工作,還是要專業(yè)人士來(lái)做。2)安全。這是LINUX的一個(gè)特點(diǎn)。LINUX的內(nèi)核與用戶空間的內(nèi)存管理分開,不會(huì)因?yàn)橛脩舻膯蝹€(gè)程序錯(cuò)誤而引起系統(tǒng)死掉。這在單片機(jī)的軟件開發(fā)中沒見到過(guò)。3)高效。引入進(jìn)程的管理調(diào)度系統(tǒng),使系統(tǒng)運(yùn)行更加高效。在傳統(tǒng)的單片機(jī)開發(fā)中大多是基于中斷的前后臺(tái)技術(shù),對(duì)多任務(wù)的管理有局限性。
硬件方面:現(xiàn)在的8位單片機(jī)技術(shù)硬件發(fā)展的也非常得快,也出現(xiàn)了許多功能非常強(qiáng)大的單片機(jī)。但是與32arm相比還是有些差距吧。arm芯片大多把SDRAM,LCD等控制器集成到片子當(dāng)中。在8位機(jī),大多要進(jìn)行外擴(kuò)??偟膩?lái)說(shuō),單片機(jī)是個(gè)微控制器,arm顯然已經(jīng)是個(gè)微處理器了。引入嵌入式操作系統(tǒng)之后,可以實(shí)現(xiàn)許多單片機(jī)系統(tǒng)不能完成的功能。比如:嵌入式web服務(wù)器,java虛擬機(jī)等。也就是說(shuō),有很多免費(fèi)的資源可以利用,上述兩種服務(wù)就是例子。如果在單片機(jī)上開發(fā)這些功能可以想象其中的難度。
如果你想學(xué)習(xí)嵌入式一定要買塊學(xué)習(xí)板,現(xiàn)在的開發(fā)板很便宜了,給我們初學(xué)者減輕了很多經(jīng)濟(jì)負(fù)擔(dān)??丛俣? 的視頻,看再多的書,也不如自己動(dòng)手試一下,看著很簡(jiǎn)單的東西,做起來(lái)就可能遇到很多的問(wèn)題,遇到問(wèn)題 找到原因,解決問(wèn)題,只有這樣才能學(xué)到東西,記得我第一次寫led的驅(qū)動(dòng),想自己試一下,網(wǎng)上也有人寫過(guò) 相關(guān)的代碼,可是自己一試,就出了好多的問(wèn)題,那個(gè)led弄了我一天才把led燈點(diǎn)亮。所以不要眼高手低。還有關(guān)于培訓(xùn),現(xiàn)在的培訓(xùn)機(jī)構(gòu)很多,講的也不錯(cuò),老師也很好,但是有一個(gè)問(wèn)題,太集中了,而且學(xué)生 動(dòng)手的機(jī)會(huì)也不太多,記得我們公司還招了一個(gè)在北京某個(gè)培訓(xùn)機(jī)構(gòu)培訓(xùn)半年的員工呢,花了一萬(wàn)多,來(lái)了之 后也沒感覺有多高,問(wèn)他都學(xué)了什么,也就是我前邊說(shuō)的那些基礎(chǔ)知識(shí),很多的東西還是不知道的,照著書弄 個(gè)helloworld模塊驅(qū)動(dòng)兩天沒搞定。不是培訓(xùn)不好,但我個(gè)人見解效果并不是很好。記住:只有自己動(dòng)手做 過(guò)的東西才是自己的?,F(xiàn)在買一塊開發(fā)板很便宜,很多友善提供的代碼中很多的都是封裝好的,只提供給客戶一個(gè)庫(kù),初學(xué)者想要找代碼的時(shí)候就不知 道怎么辦了.
arm嵌入式學(xué)習(xí)方法:1,挑選適合于自己的開發(fā)板——借用或租用市場(chǎng)上現(xiàn)在開發(fā)板種類太多,購(gòu)買之前是借朋友的板子先試試,多體驗(yàn)幾款,否則買了不光是浪費(fèi)銀子,也可能耽誤學(xué)習(xí)進(jìn)度。沒有這些資源就到淘寶網(wǎng)上去租幾塊板子來(lái)體驗(yàn),這對(duì)你以后學(xué)習(xí)會(huì)有很大的幫助。2,反復(fù)推敲。學(xué)習(xí)搭建開發(fā)環(huán)境,建立交叉編譯環(huán)境及硬件環(huán)境。3,不斷嘗試。從簡(jiǎn)單hello world開始,逐步深入,不斷驗(yàn)證操作系統(tǒng)及硬件功能。4,詳細(xì)記錄。嵌入式開發(fā)過(guò)程中會(huì)碰到各種各樣奇怪的問(wèn)題,做筆記和寫心得變得非常重要,每一次小小的成功都要記錄,并反復(fù)驗(yàn)證這個(gè)方法是否正確。
在應(yīng)用中學(xué)習(xí),在應(yīng)用中提高。一個(gè)對(duì)嵌入式普遍認(rèn)同的定義是:嵌入式是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件和硬件可裁剪,以適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、速度、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。從定義中可以看出,嵌入式是以應(yīng)用為中心的,在具體應(yīng)用的前提下有針對(duì)性的進(jìn)行軟硬件裁剪,從而達(dá)到某些技術(shù)指標(biāo)的嚴(yán)格要求。所以說(shuō),嵌入式是一門較高層次的應(yīng)用科學(xué)。需要我們?cè)趹?yīng)用中學(xué)習(xí)。