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