一張圖展示它們之間的關(guān)系,如下所示:
什么是arm?
其實ARM是一種微處理器架構(gòu),但它和“手臂”(Arm)毫無關(guān)系,哪怕在拼寫上一樣。雖然兩者都十分強壯,但ARM更像一個小而精干的智能腦袋,可以幫助各種設(shè)備實現(xiàn)高效、可靠的計算和控制。
ARM,全稱為Advanced RISC Machines,是一家專門從事芯片設(shè)計的英國公司。ARM以其低功耗、高性能和可移植性等特性,被廣泛應(yīng)用于各種嵌入式系統(tǒng)、消費電子、手機、平板電腦、汽車電子等領(lǐng)域。
ARM架構(gòu)的處理器采用精簡指令集計算機(RISC)的體系結(jié)構(gòu),與傳統(tǒng)x86架構(gòu)的處理器相比,它更注重處理器架構(gòu)的簡單性、有效性和高效性,避免了不必要的復(fù)雜性和浪費的硬件資源,因此具有卓越的計算能力和出色的功耗表現(xiàn)。
目前,ARM已經(jīng)成為世界上最重要的CPU(Central Processing Unit,中央處理器)的架構(gòu)之一,被廣泛應(yīng)用于各種終端產(chǎn)品、智能設(shè)備和嵌入式系統(tǒng)。同時,ARM還以開放性和生態(tài)性而聞名,即使是非ARM授權(quán)廠商也可以輕松獲取并使用ARM開源技術(shù)和工具,進一步促進了ARM技術(shù)的普及和廣泛應(yīng)用。
那么,為什么要使用ARM呢?因為它既輕量級又高性能,非常適合于嵌入式系統(tǒng)、移動設(shè)備和物聯(lián)網(wǎng)應(yīng)用。和其他微處理器架構(gòu)相比,ARM還具有低功耗、大容量緩存和良好的軟件支持等優(yōu)點,使得它成為最流行的微處理器架構(gòu)之一。
說起來,你可能聽到過ARM Cortex-A、Cortex-M和Cortex-R等不同類型的產(chǎn)品系列。它們就像不同品牌的汽車,每個系列都有自己獨特的配置和優(yōu)點,適用于不同的場景和需求。
嵌入式開發(fā)當(dāng)中除了ARM架構(gòu)以外還有一些其它架構(gòu),比如,Atmel公司推出的AVR家族,前面提到的Arduino其它就是基于AVR家族的單片機,至什么是單片機我們后面再講。
?ARM【更多擴展閱讀詳見博主的四大主流芯片架構(gòu)(X86、ARM、RISC-V和MIPS)】
ARM指的是一種處理器架構(gòu)。單片機一個大類,包括很多架構(gòu),ARM是其中一種架構(gòu)(這里特指ARM7和現(xiàn)在的Cortex-M系列)。除了ARM,還有8051,AVR,PIC等架構(gòu)。
前面我們把Arduino比作是大眾,樹莓派是保時捷,那arm就是一個V12發(fā)動機。
Arm本身就是一家英國公司名簡稱(Advanced RISC Machines),arm也是一種芯片內(nèi)核技術(shù)。
我們單片機一般都是有內(nèi)核的,比如說51內(nèi)核,以前因特爾設(shè)計的,主要針對一些控制和運算比較簡單的電子產(chǎn)品。
還有ARM內(nèi)核的,主要針對運算和控制比較復(fù)雜的電子產(chǎn)品。
Arduino的AVR單片機正好介于這兩者之間,比51內(nèi)核強大,比ARM內(nèi)核菜。
單純的內(nèi)核不能直接應(yīng)用在產(chǎn)品,需要進行二次開發(fā),所以,ARM公司一般會把這種內(nèi)核技術(shù)賣給半導(dǎo)體公司做二次設(shè)計。
一般ARM公司有3種授權(quán)級別:
① .架構(gòu)層授權(quán)
這個級別是指可以對ARM內(nèi)核架構(gòu)進行大量改造,包括匯編指令集的擴展和縮減,像蘋果就是在ARMV7-A架構(gòu)基礎(chǔ)上,擴展出swift架構(gòu)。
除了蘋果以外,還有海思麒麟、聯(lián)發(fā)科、三星、高通等cpu大多都是ARM架構(gòu)。(架構(gòu)一樣,但使用的平臺不一樣例如聯(lián)發(fā)科是MTK平臺,高通是驍龍系列平臺等)
② .內(nèi)核層授權(quán)
這個級別是可以在這個內(nèi)核基礎(chǔ)上可以加自己需要的外設(shè),比如說GPIO、USART、ADC、DMA等等,最后做成自己的單片機。
像STM32就是這樣干的,類似的芯片還有巨多,大多數(shù)出SOC單片機的都是屬于這層。
③ .使用層授權(quán)
這個層級權(quán)限最低,相當(dāng)于你只能使用它,不能對它進行修改。
ARM內(nèi)核也分很多個版本,ARM7、ARM9、ARM11,到了ARM11以后就是以Cortex命名了。
Cortex架構(gòu)也分三個系列性能從低到高:M、R、A。
Cortex-M定位是中低端市場,也就是我們的單片機,也叫微控制器,我們最常用的STM32F103就是Cortex-M3的內(nèi)核。
Cortex-R定位高端實時系統(tǒng),比如說醫(yī)療、工業(yè)、汽車、基帶等等領(lǐng)域。
Cortex-A定位是通用市場,典型的就是平板電腦、手機、數(shù)字電視、機頂盒、服務(wù)器、打印機等領(lǐng)域。
樹莓派
如果Arduino像一輛小轎車,那么樹莓派就像一架大型客機。雖然都是基于低功耗處理器架構(gòu)設(shè)計的單板計算機,但樹莓派擁有更加豐富的接口和性能,為你的創(chuàng)意提供更多樣化的選擇和更廣闊的可能性。
雖然它看起來并不像什么高科技,但在這個壓縮成盒子大小的小家伙身上,你會驚奇地發(fā)現(xiàn)有著和大型計算機一樣強大的功能。樹莓派基于Linux操作系統(tǒng),具有多種程序語言支持,能夠?qū)崿F(xiàn)各種各樣的智能應(yīng)用,例如機器人、智能家居、電子音樂等等,讓你體驗到前所未有的DIY樂趣。
尤其值得一提的是,樹莓派有著無限的可能性,可以通過各種擴展板、傳感器和外圍設(shè)備來進行創(chuàng)意拓展。你甚至可以將它變成一臺迷你的游戲機,暢玩復(fù)古游戲,或者利用它來制作智能萬能遙控器,讓你的生活更加方便。
總之,只要你愿意,樹莓派可以成為你的創(chuàng)意王國,幫助你實現(xiàn)各種理想和奇思妙想!
前面提到的Arduino是基于AVR架構(gòu)的,那樹莓派呢?是不是也是單片機呢?
樹莓派是基于Cortex-A的片上系統(tǒng),也就是SoC。這里的Cortex-A是基于ARM架構(gòu)的一類處理器。
什么是Arduino?
Arduino是一個基于開源硬件和軟件的嵌入式平臺,由意大利的開發(fā)者團隊負責(zé)開發(fā)和維護。Arduino平臺通過簡單易用的硬件和軟件工具,使得電子愛好者和一般用戶都能夠簡單快速地實現(xiàn)物聯(lián)網(wǎng)、自動化控制、機器人等各種應(yīng)用項目。
Arduino平臺的核心板卡是由微控制器(MCU)和相關(guān)模塊組成的,除了基本的輸入輸出連接外,還有多個通信接口,包括串口、SPI和TWI等,可以與其他設(shè)備進行通信和數(shù)據(jù)傳輸。此外,Arduino平臺還具備豐富的插件模塊和開源庫文件,可以實現(xiàn)更復(fù)雜的功能需求。
在Arduino平臺上,用戶可以使用C/C++語言進行編程,具體采用Arduino集成開發(fā)環(huán)境(IDE)來進行開發(fā)和測試程序。另外,Arduino平臺還支持許多類似Scratch的圖形編程界面,使得Arduino編程成為了比較簡單易學(xué)的過程。
總之,Arduino就是一款讓人愛不釋手的單板計算機,這個單板計算機具有豐富的功能,可以幫助您控制電路、感知傳感器數(shù)據(jù)或模擬信號,以及與各種設(shè)備進行智能交互。如果你喜歡玩DIY或者熱衷于物聯(lián)網(wǎng)領(lǐng)域,那么Arduino會是你最好的選擇之一。不管是啟蒙科技、創(chuàng)建新趣味還是設(shè)計創(chuàng)意項目,Arduino都可以滿足你的需求,并帶給你無限的樂趣!
只要你有足夠的創(chuàng)意,Arduino都會幫你實現(xiàn),比如用手機來開關(guān)你的臺燈、特定的敲門聲可以自動打開房門鎖、無人機和機械手臂等等。
Nano家族的開發(fā)板
單片機
在介紹單片機之前我們先了解一下嵌入式處理器有哪些類型:
如圖所示,嵌入式處理器分為MCU、DSP、MPU、SoC、SoPC這幾種。我們所說的單片機其實就是指嵌入式微控制器MCU(Micro Control Unit)。前面提到的樹莓派是基于ARM的Cortex-A的SoC,所以它不是單片機。
Arduino、arm、樹莓派、單片機它們四個的關(guān)系如圖所示。可以看到單片機除了Arduino以外,還有意法半導(dǎo)體的STM32,恩智浦的LPC等等。
下面是單片機(MCU)和系統(tǒng)級芯片(SoC)的對比表格:
單片機就是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了一些I/O設(shè)備。概括的說,單片機就像是一架小型飛機,擁有著各種強大的功能,可以幫助你創(chuàng)造出許多非常有趣的項目。
想象一下,如果單片機是一雙鞋子,那么它就是“萬能鞋”。它不僅具有啟動、運行程序等基本功能,還可以實現(xiàn)各種控制和數(shù)據(jù)采集,包括溫度、濕度、氣壓、聲音、圖像、運動等各種傳感器數(shù)據(jù)。與此同時,單片機支持眾多編程語言,如匯編語言、C語言、C++語言等,方便用戶根據(jù)需求對其進行開發(fā)。
當(dāng)然,使用單片機也需要一定的基礎(chǔ)知識和編程技巧,就像穿鞋子需要學(xué)習(xí)如何系鞋帶一樣。但只要你肯花點時間學(xué)習(xí),就能夠駕馭這位技術(shù)大神,制作出各種酷炫的自動化系統(tǒng)和智能設(shè)備。
?
區(qū)別
總上所述,Arduino其實就是一款簡單易上手的單片機。而ARM是一種嵌入式應(yīng)用非常廣泛的一種計算機體系架構(gòu)。樹莓派就是基于ARM體系架構(gòu)下的一種SoC開發(fā)板。單片機就是一種嵌入式處理器,也就是嵌入式微控制器MCU(Micro Control Unit)。文章來源:http://www.zghlxwxcb.cn/news/detail-853733.html
?整理:Arduino、arm、樹莓派、單片機四者有什么不同? - 知乎文章來源地址http://www.zghlxwxcb.cn/news/detail-853733.html
到了這里,關(guān)于ARM、樹莓派、Arduino、單片機四者有什么不同的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!