發表於 2017-10-10 11:34:35
stm32屬於arm嗎?在回答這個問題前,我們先來看下STM32和ARM的定義。
STM32是基於ARM® Cortex® M 3處理器內核的 32位快閃記憶體微控制器,為MCU用戶開闢了一個全新的自由開發空間,並提供了各種易於上手的軟硬體輔助工具。STM32 MCU融高性能、實時性、數位訊號處理、低功耗、低電壓於一身,同時保持高集成度和開發簡易的特點。業內最強大的產品陣容,基於工業標準的處理器,大量的軟硬體開發工具,讓STM32單片機成為各類中小項目和完整平臺解決方案的理想選擇。按內核架構分為不同產品系列。
ARM本意是微處理器行業的一家知名企業,英國ARM公司是全球領先的半導體智慧財產權 (IP) 提供商。全世界超過95%的智慧型手機和平板電腦都採用ARM架構。ARM設計了大量高性價比、耗能低的RISC處理器、相關技術及軟體。在智能機、平板電腦、嵌入控制、多媒體數字等處理器領域擁有主導地位。
在此ARM指的是ARM處理器。ARM處理器是英國Acorn有限公司設計的低功耗成本的第一款RISC微處理器。全稱為Acorn RISC Machine。ARM處理器本身是32位設計,但也配備16位指令集,一般來講比等價32位代碼節省達35%,卻能保留32位系統的所有優勢。ARM處理器的三大特點是:耗電少功能強、16位/32位雙指令集和合作夥伴眾多。
1、體積小、低功耗、低成本、高性能;
2、支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;
3、大量使用寄存器,指令執行速度更快;
4、大多數數據操作都在寄存器中完成;
5、尋址方式靈活簡單,執行效率高;
6、指令長度固定。
ARM處理器核當前有6個系列產品ARM7, ARM9, ARM9E, ARM10E, SecurCore以及最新的ARM11系列。而stm32使用的就是其中的Cortex-M3內核。
就一般來看,STM32屬於高性能的單片機,一般運用的場合多為應用控制,它主要是和51,AVR等競爭低端單片機市場,優勢在於處理速度相對較高(F4現在最高180M),片上資源較為豐富。ARM的話,一般人們說ARM都是指的片上系統,如果把ARM當單片機用,性價比是不夠高的。
此前的arm7能效低,arm9的硬體和編程太複雜,所以為了滿足消費電子的要求而改進arm7,代號為cortex-m,這樣st或nxp等廠家以這個新的核心來加自己的外設就得到了stm32或lpc系列的單片機了。
總而言之,STM32是基於ARM Cortex-M3內核的,但是不是屬於ARM 。stm32使用cortex-m構架,而cortex-m是arm7的增強改進型,所以也可以算是屬於arm的一個分支。
STM32的內核是ARM推出的基於專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核。STM32是ARM7架構中的一員。
stm32開發難度介於ARM7跟ARM9之間,功能比一般的ARM7強,跟ARM9相比主要是性價比高,外設多接口方便,還有功耗低。
很多網友覺得ARM7會被STM32取代,STM32偏向不帶系統的工業控制,外圍設備甚至比ARM7、ARM9更豐富,而ARM7帶不了大系統,想帶系統至少也要從ARM9開始。要麼直接上ARM9學學系統,下面我們把兩者的區別做了詳細對比。
STM32是現在市場上性價比非常高的一款ARM產品,使用的是Cortex-M3內核,在同等價位下,其內部資源比51要豐富更多。STM32同系列的產品,在軟體和硬體上兼容性很好,尤其是從PIN腳少的晶片更換為PIN腳多的晶片的時候,代碼都無需修改就能直接應用。
而從開發角度來講,STM32比51的編程更加簡單,廠家的工程代碼中提供了很多的庫函數來操作GPIO,UART,SPI,AD,TIMER等資源,不需要像51一樣去記憶各個特殊寄存器的屬性和用途。
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴