edu6868
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 10 個
工控威望: 135 點
下載積分: 611 分
在線時間: 0(小時)
注冊時間: 2014-06-18
最后登錄: 2014-09-06
查看edu6868的 主題 / 回貼
樓主  發(fā)表于: 2014-07-08 17:42
關(guān)于嵌入式ARM入學(xué)必知
初學(xué)者必知:ARM與單片機到底有啥區(qū)別?
    1、軟件方面
    這應(yīng)該是最大的區(qū)別了。引入了操作系統(tǒng)。為什么引入操作系統(tǒng)?有什么好處嘛?
    1)方便。主要體現(xiàn)在后期的開發(fā),即在操作系統(tǒng)上直接開發(fā)應(yīng)用程序。不像單片機一樣一切都要重新寫。前期的操作系統(tǒng)移植工作,還是要專業(yè)人士來做。
    2)安全。這是LINUX的一個特點。LINUX的內(nèi)核與用戶空間的內(nèi)存管理分開,不會因為用戶的單個程序錯誤而引起系統(tǒng)死掉。這在單片機的軟件開發(fā)中沒見到過。
    3)高效。引入進程的管理調(diào)度系統(tǒng),使系統(tǒng)運行更加高效。在傳統(tǒng)的單片機開發(fā)中大多是基于中斷的前后臺技術(shù),對多任務(wù)的管理有局限性。
    2、硬件方面
    現(xiàn)在的8位單片機技術(shù)硬件發(fā)展的也非常得快,也出現(xiàn)了許多功能非常強大的單片機。但是與32arm相比還是有些差距吧。
    arm芯片大多把SDRAM,LCD等控制器集成到片子當(dāng)中。在8位機,大多要進行外擴。
    總的來說,單片機是個微控制器,arm顯然已經(jīng)是個微處理器了。
    引入嵌入式操作系統(tǒng)之后,可以實現(xiàn)許多單片機系統(tǒng)不能完成的功能。比如:嵌入式web服務(wù)器,java虛擬機等。也就是說,有很多免費的資源可以利用,上述兩種服務(wù)就是例子。如果在單片機上開發(fā)這些功能可以想象其中的難度。

    初學(xué)者如何選擇ARM開發(fā)硬件?
    1. 如果你有做硬件和單片機的經(jīng)驗,建議自己做個最小系統(tǒng)板:假如你從沒有做過ARM的開發(fā),建議你一開始不要貪大求全,把所有的應(yīng)用都做好,因為ARM的啟動方式和dsp或單片機有所不同,往往會碰到各種問題,所以建議先布一個僅有Flash,SRAM或SDRAM、CPU、JTAG、和復(fù)位信號的小系統(tǒng)板,留出擴展接口。使最小系統(tǒng)能夠正常運行,你的任務(wù)就完成了一半,好在arm的外圍接口基本都是標(biāo)準(zhǔn)接口,假如你已有這些硬件的布線經(jīng)驗,這對你來講是一件很輕易的事情。
    2. 動手寫啟動代碼,根據(jù)硬件地址先寫一個能夠啟動的小代碼,包括以下部分:
    初始化端口,屏蔽中斷,把程序拷貝到SRAM中;完成代碼的重映射;配置中斷句柄,連接到C語言入口。也許你看到給你的一些示例程序當(dāng)中,bootloader會有很多東西,但是不要被這些復(fù)雜的程序所困擾,因為你不是做開發(fā)板的,你的任務(wù)就是做段小程序,讓你的應(yīng)用程序能夠運行下去
    3.假如你是作硬件,每個廠家基本上都有針對該芯片的DEMO板原理圖。先將原理圖消化。這樣你以后做設(shè)計時,對資源的分配心中有數(shù)。器件的DATSHEET一定要好好消化。
    4. 仔細研究你所用的芯片的資料,盡管arm在內(nèi)核上兼容,但每家芯片都有自己的特色,編寫程序時必須考慮這些問題。尤其是女孩子,在這兒千萬別有依靠心理,總想拿別人的示例程序修改,卻越改越亂。
    5. 多看一些操作系統(tǒng)程序,在arm的應(yīng)用開放源代碼的程序很多,要想提高自己,就要多看別人的程序,linux,uc/os-II等等這些都是很好的原碼。
    6.假如做軟件最好對操作系統(tǒng)的機理要有所了解。當(dāng)然這對軟件工程師來說是小菜一碟。但假如是硬件出身的就有點費勁。
    問:做最小系統(tǒng)板是2層還是4層好?
    答:只有AT91可以用兩層板,其他的最少4層;44b0的地和電源處理好也可用兩層板;
更多嵌入式,單片機,PCB,F(xiàn)PGA,Android,cortex-M系列等課程的學(xué)習(xí),請咨詢付老師,電話18137889193,QQ1841388306。