新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 比較AVR和ARM,談談相同與區別

        比較AVR和ARM,談談相同與區別

        作者: 時間:2016-11-10 來源:網絡 收藏
        我看到hyloo的發問,本來想回答的,但一想,寫了很多,倒算別人的酷貼,不太劃算,所以決定自開一貼,順便揚揚名^_^。

        AVR我用過2個月,ARM我只看過2本書,所以,說的有錯請各位指教。

        這里我們討論的AVR和ARM都是泛指,就是說,包括所有機器指令集和這兩個體系的都通用的眾多芯片,不單單指某項技術或者某塊芯片。

        首先是相同點,兩者都是現代的CPU設計范例,基于RISC的指導思想,在體系設計初期時就充分考慮到了CPU內核面積,速度,高級語言支持等很多因素。又吸取了51、x86等20年前就商業化的體系所暴露出的問題,所以從現代眼光來看,都是非常先進的設計。最重要,GCC對ARM和AVR都提供了相當好支持,而且可以免費使用。網上,特別是外國網上都有很多開放資源可以參考。兩者在國內都屬于市場引入階段。銷售方面,各有兩大著名國內MCU公司做代理,而且巧合的是都是來自廣東的奸商(哈,開玩笑,勿當真)。

        AVR和ARM的區別就比較多了:
        ARM是IP核,可供各大芯片商集成到各自的設計中,好比是軟件語言中的C++,如果你想換一家廠商或者某家的貨太貴,都會有其它的廠商來競爭,至少從理論上,你不會被一家廠商套住。
        AVR這方面就差點,ATMEL一家,別無分號。你只能在他的系列中選一個型號,無法選廠家。好比是軟件語言中的Java,雖然現在免費(指Java的SDK,不是AVR)或價格低,但市場前景更多的掌握在廠商手中。

        實際產品成本方面,AVR優于ARM,畢竟AVR是8位機,配什么外設都便宜,由于速度比ARM低,PCB版也好設計,20MHz的數字電路基本上只要通就行了,不用過多考慮信號完整性什么的。而ARM的速度能輕易上100MIPS,32位的CPU也不是吹的,速度上AVR根本沒法比,不過帶來的問題就多了,要4層PCB,而且外設也貴多了。

        功能方面,ARM大大優于AVR,ARM可以做PDA,手機,AVR顯然不行,最糟糕的是ARM上可以跑Linux,Linux可以做多少事啊,雖說國內實際在ARM平臺上跑出Linux而又愿意公開技術的人幾乎沒有(我正在努力朝這個方向發展),但前途絕對是光明的。功能上的優勢意味著ARM比AVR有著更廣的應用范圍,所以,雙龍耿先生所說的“中學用AVR”如果是對的話,大學里就應該用ARM。

        外設方面AVR稍強,實際上我們可以看到Atmel公司的基于ARM核的AT91M55800A包括了很多AVR的外設,但還缺TWI/I2C,可變增益ADC,EEPROM等好用的部件。但毫無疑問,ARM的外擴外設能力比AVR強的多,所以外設方面算平手吧

        操作系統和軟件源碼資源方面,ARM拜Linux之賜,比AVR有優勢點。但AVR上的嵌入式操作系統也不是沒有,uC/OS-II就不錯,如果能在Mega8515等便宜的芯片上跑起來的話,我看350元的ARM版也難賣,這一點雙龍不知有沒有計劃?

        調試手段方面,ARM應該優于AVR,AVR就一個JTAG接口的仿真器我個人還可以買一下,但所支持芯片有限,ARM方面書上有相當多的方法調試,這里我不熟也缺經驗,就不瞎說了。

        最后來個有個性的結尾,鑒于GCC對AVR和ARM的支持都很好,所以我決定都好好學,這里順便給GCC打個廣告,大家也看得出RISC的MCU最好還是直接使用C語言,GCC編譯器顯然是最明智的選擇。


        關鍵詞: AVRAR

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 潼南县| 高阳县| 罗山县| 镇沅| 斗六市| 盐源县| 奉化市| 镇雄县| 龙岩市| 三原县| 温州市| 商都县| 全椒县| 丰镇市| 仪征市| 齐齐哈尔市| 金秀| 商都县| 子洲县| 离岛区| 沙雅县| 沾益县| 龙游县| 礼泉县| 安陆市| 昌平区| 桃江县| 宿迁市| 丁青县| 岳西县| 隆回县| 满洲里市| 汉中市| 安泽县| 资溪县| 谢通门县| 库伦旗| 奉化市| 德化县| 海安县| 克东县|