新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > ARM與單片機到底有啥區別?

        ARM與單片機到底有啥區別?

        作者: 時間:2018-08-13 來源:網絡 收藏

        1、軟件方面

        本文引用地址:http://www.104case.com/article/201808/386379.htm

        這應該是最大的了。引入了操作系統。為什么引入操作系統?有什么好處嘛?

        1)方便。主要體現在后期的開發,即在操作系統上直接開發應用程序。不像一樣一切都要重新寫。前期的操作系統移植工作,還是要專業人士來做。

        2)安全。這是LINUX的一個特點。LINUX的內核與用戶空間的內存管理分開,不會因為用戶的單個程序錯誤而引起系統死掉。這在的軟件開發中沒見到過。

        3)高效。引入進程的管理調度系統,使系統運行更加高效。在傳統的開發中大多是基于中斷的前后臺技術,對多任務的管理有局限性。

        2、硬件方面

        現在的8位單片機技術硬件發展的也非常得快,也出現了許多功能非常強大的單片機。但是與32arm相比還是有些差距吧。

        arm芯片大多把SDRAM,LCD等控制器集成到片子當中。在8位機,大多要進行外擴。

        總的來說,單片機是個微控制器,arm顯然已經是個微處理器了。

        引入嵌入式操作系統之后,可以實現許多單片機系統不能完成的功能。比如:嵌入式web服務器,java虛擬機等。也就是說,有很多免費的資源可以利用,上述兩種服務就是例子。如果在單片機上開發這些功能可以想象其中的難度。

        初學者如何選擇開發硬件?

        1. 如果你有做硬件和單片機的經驗,建議自己做個最小系統板:假如你從沒有做過的開發,建議你一開始不要貪大求全,把所有的應用都做好,因為的啟動方式和dsp或單片機有所不同,往往會碰到各種問題,所以建議先布一個僅有Flash,SRAM或SDRAM、CPU、JTAG、和復位信號的小系統板,留出擴展接口。使最小系統能夠正常運行,你的任務就完成了一半,好在arm的外圍接口基本都是標準接口,假如你已有這些硬件的布線經驗,這對你來講是一件很輕易的事情。

        2. 動手寫啟動代碼,根據硬件地址先寫一個能夠啟動的小代碼,包括以下部分:

        初始化端口,屏蔽中斷,把程序拷貝到SRAM中;完成代碼的重映射;配置中斷句柄,連接到C語言入口。也許你看到給你的一些示例程序當中,bootloader會有很多東西,但是不要被這些復雜的程序所困擾,因為你不是做開發板的,你的任務就是做段小程序,讓你的應用程序能夠運行下去

        3.假如你是作硬件,每個廠家基本上都有針對該芯片的DEMO板原理圖。先將原理圖消化。這樣你以后做設計時,對資源的分配心中有數。器件的DATSHEET一定要好好消化。

        4. 仔細研究你所用的芯片的資料,盡管arm在內核上兼容,但每家芯片都有自己的特色,編寫程序時必須考慮這些問題。尤其是女孩子,在這兒千萬別有依靠心理,總想拿別人的示例程序修改,卻越改越亂。

        5. 多看一些操作系統程序,在arm的應用開放源代碼的程序很多,要想提高自己,就要多看別人的程序,linux,uc/os-II等等這些都是很好的原碼。

        6.假如做軟件最好對操作系統的機理要有所了解。當然這對軟件工程師來說是小菜一碟。但假如是硬件出身的就有點費勁。

        問:做最小系統板是2層還是4層好?

        答:只有AT91可以用兩層板,其他的最少4層;44b0的地和電源處理好也可用兩層板。



        關鍵詞: ARM 單片機 區別

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 张北县| 长岭县| 莱州市| 漳州市| 鱼台县| 邓州市| 靖安县| 大姚县| 海伦市| 太仓市| 措美县| 定西市| 兴化市| 永新县| 广丰县| 烟台市| 文成县| 辽阳市| 元朗区| 马龙县| 潜江市| 老河口市| 长汀县| 阜南县| 永嘉县| 紫云| 宁强县| 阿克苏市| 建湖县| 五家渠市| 滕州市| 阳曲县| 威信县| 巴林左旗| 蓬安县| 溧阳市| 鹤壁市| 德保县| 西林县| 贵德县| 广西|