STM32与通常ARM的区别

发布者:cocolang最新更新时间:2018-10-10 来源: eefocus关键字:STM32  ARM的 手机看文章 扫描二维码
随时随地手机看文章

ARM是英国的芯片设计公司,其最成功的莫过于32位嵌入式CPU核----ARM系列,最常用的是ARM7和ARM9,ARM公司主要提供IP核,就是CPU的内核结构,只包括最核心的部分,并不是完整的处理器. ARM把这个核卖给各大半导体公司,如 Pllips 三星 ,ATMEL 等等,许多公司,甚至Intel.
ARM为了对付 8位机市场,最近推出了 Cortex-M3核,STM32就是意大利的意法半导体基于Cortex-M3的32位嵌入式处理器, Cortex_M3核性价比更高,价格低,可以与8位单片机竞争

ARM Cortex-M3 处理器初探
单片机市场的规模可以用“巨无霸”来形容,预计到2010时每年能有20G片的出货量。世界各地的器件供应商纷纷亮出自己的得意之作,他们提供的器件和架构也是各具特色。业界内部可谓是百花齐放,热闹非凡,好戏不断。各行各业对单片机能力的要求也一直“得寸进尺”,而且还又要马儿跑,又要马儿不吃草——处理器必须在不怎么增加主频和功耗的条件下干更多的活儿。另一方面, 处理器之间的互连也在加深, 看这一串串熟悉的字眼:串口,USB,以太网,无线数传……处理器如欲支持这些数据通道,就必须在片上塞进更多的外设。软件方面的情况也如出一辙:应用程序的功能一直在花样翻新,性能需求也是变本加厉:更高的运算速度,更硬的实时能力,更多的功能模块,更炫的图形界面,……所有这些要求单片机都得照单全收。在这个大环境下,ARM Cortex‐M3处理器,作为Cortex系列的处女作,为了让32位处理器入主作庄单片机市场,轰轰烈烈地诞生了!由于采用了最新的设计技术,它的门数更低,性能却更强。许多曾经只能求助于高级32位处理器或DSP的软件设计,都能在CM3上跑得很快很欢。相信用不了多久,CM3就一定能在32位嵌入式处理器市场中脱颖而出,像当年8051推动整个业界那样,再次放飞设计师的梦想,实现多年的夙愿! 
CM3的招牌功夫包括:  
•  性能强劲。在相同的主频下能做处理更多的任务,全力支持劲爆的程序设计。 
•  功耗低。延长了电池的寿命——这简直就是便携式设备的命门(如无线网络应用)。  
•  实时性好。采用了很前卫甚至革命性的设计理念,使它能极速地响应中断,而且响应
中断所需的周期数是确定的。 
•  代码密度得到很大改善。一方面力挺大型应用程序,另一方面为低成本设计而省吃俭
用。 
•  使用更方便。现在从8位/16位处理器转到32位处理器之风刮得越来越猛,更简单的编
程模型和更透彻的调试系统,为与时俱进的人们大大减负。 
•  低成本的整体解决方案。让32位系统比和8位/16位的还便宜,低端的Cortex‐M3单片机甚至还卖不到1美元。 
•  遍地开花的优秀开发工具。免费的,便宜的,全能的,要什么有什么。
降低成本还有一招,就是使基础代码在所有系统中都可以重用,至少要方便移植。CM
的内核架构非常精工细作,使它与C语言成为了一个梦幻绝配。优质的C程序代码三下五除二就可以移植并重用,使升级和移植一下子从拦路虎变成了纸老虎。 
值得一提的是,CM3并不是第一个被拿去做万金油型处理器的内核。那廉颇虽老却依然
骁勇的ARM7/ARM9处理器,在通用嵌入式处理器市场中德高望重,至今拥有无数铁杆粉丝。半导体业界的群英们,像NXP(philips)、TI、Atmel、OKI、ST等,都以ARM为内核,做出了各自身怀绝技的32位MCU。ARM7作为最受欢迎的32位嵌入式处理器,被载入了亮煌煌的几页史册——每年超过10亿片出货量,为各行各业的嵌入式设备中都找得到它们的身影。 
CM3作为ARM7的后继者,大刀阔斧地改革了设计架构。从而显著地简化了编程和调试
的复杂度,处理能力也更加强大。除此之外,CM3还突破性地引入了很多时尚的甚至崭新的技术,专门满足单片机应用程序的需求。比如,服务于“使命‐关键”应用的不可屏蔽中断,极度敏捷并且拥有确定性的嵌套向量中断系统,原子性质的位操作,还有一个可选的内存保护单元。这些令人惊艳和振奋的新特性,让老的ARM玩家们再次找到“初恋”时烈焰迸发的感觉,也使萍水相逢就有激爽触电般的体验!相信读者一旦有机会用到了它,就会为它的秀外慧中而赞叹,爱不释手! 

Cortex-M3 处理器内核  vs. 基于Cortex-M3的MCU 
Cortex‐M3处理器内核是单片机的中央处理单元(CPU)。完整的基于CM3的MCU还需要很多其它组件。在芯片制造商得到CM3处理器内核的使用授权后,它们就可以把CM3内核用在自己的硅片设计中,添加存储器,外设,I/O以及其它功能块。不同厂家设计出的单片机会有不同的配置,包括存储器容量、类型、外设等都各具特色。本书主讲处理器内核本身。如果想要了解某个具体型号的处理器,还需查阅相关厂家提供的文档。
一路走来 
让我们回顿一下ARM的进化史,你会知道为什么会有品种如此之多的ARM处理器和ARM
架构。ARM在1990年成立,当初的名字是“Advanced RISC Machines Ltd.,”,当时它是三家公司的合资——它们分别是苹果电脑,Acorn电脑公司,以及VLSI技术(公司)。在1991年,ARM推出了ARM6处理器家族,VLSI则是第一个吃螃蟹的人。后来,陆续有其它巨头:包括TI, NEC, Sharp, ST等,都获取了ARM授权,它们真正地把ARM处理器大面积地辅开,使得ARM处理器在手机,硬盘控制器,PDA,家庭娱乐系统以及其它消费电子中都大展雄才。 
现如今,ARM芯片的出货量每年都比上一年多20亿片以上。不像很多其它的半导体公司,ARM从不制造和销售具体的处理器芯片。取而代之的,是ARM把处理器的设计授权给相关的商务合作伙伴,让他们去根据自己的强项设计具体的芯片,这些伙伴可都是巨头啊。基于ARM低成本和高效的处理器设计方案,得到授权的厂商生产了多种多样的的处理器、单片机以及片上系统(SoC)。这种商业模式就是所谓的“知识产权授权”。 
除了设计处理器,ARM也设计系统级IP和软件IP。为了挺它们,ARM开发了许多配套的
基础开发工具、硬件以及软件产品。使用这些工具,合作伙伴可以更加舒心地开发他们自己的产品。

ARM的各种架构版本 
ARM十几年如一日地开发新的处理器内核和系统功能块。这些包括流行的ARM7TDMI处
理器,还有更新的高档产品ARM1176TZ(F)‐S处理器,后者能拿去做高档手机。功能的不断进化,处理水平的持续提高,年深日久造就了一系列的ARM架构。要说明的是,架构版本号和名字中的数字并不是一码事。比如,ARM7TDMI是基于ARMv4T架构的(T表示支持“Thumb指令”); ARMv5TE架构则是伴随着ARM9E处理器家族亮相的。 ARM9E家族成员包括ARM926E‐S和ARM946E‐S。ARMv5TE架构添加了“服务于多媒体应用增强的DSP指令”。后来又出了ARM11,ARM11是基于ARMv6架构建成的。基于ARMv6架构的处理器包括ARM1136J(F)‐S,ARM1156T2(F)‐S,以及ARM1176JZ(F)‐S。ARMv6是ARM进化史上的一个重要里程碑:从那时候起,许多突破性的新技术被引进,存储器系统加入了很多的崭新的特性,单指令流多数据(SIMD)指令也是从v6开始首次引入的。而最前卫的新技术,就是经过优化的Thumb‐2指令集,它专为低成本的单片机及汽车组件市场。 
ARMv6的设计中还有另一个重大的决定:虽然这个架构要能上能下,从最低端的MCU
到最高端的“应用处理器”都通吃,但不能因此就这也会,那也会,但就是都不精。仍须定位准确,使处理器的架构能胜任每个应用领域。结果就是,要使ARMv6能够灵活地配置和剪裁。对于成本敏感市场,要设计一个低门数的架构,让她有极强的确定性;另一方面,在高端市场上,不管是要有丰富功能的还是要有高性能的,都要有拿得出手的好东西。 
最近的几年,基于从ARMv6开始的新设计理念,ARM进一步扩展了它的CPU设计,成果
就是ARMv7架构的闪亮登场。在这个版本中,内核架构首次从单一款式变成3种款式。 
•  款式A:设计用于高性能的“开放应用平台”——越来越接近电脑了 
•  款式R:用于高端的嵌入式系统,尤其是那些带有实时要求的——又要快又要实时。 
•  款式M:用于深度嵌入的,单片机风格的系统中——本书的主角。让我们再进距离地考察这3种款式: 
•  款式A(ARMv7‐A):需要运行复杂应用程序的“应用处理器”支持大型嵌入式操作系统(不一定实时——译注),比如Symbian(诺基亚智能手机用),Linux,以及微软的Windows CE和智能手机操作系统Windows Mobile。这些应用需要劲爆的处理性能,并且需要硬件MMU实现的完整而强大的虚拟内存机制,还基本上会配有Java支持,有时还要求一个安全程序执行环境(用于电子商务——译注)。典型的产品包括高端手机和手持仪器,电子钱包以及金融事务处理机。
•  款式R(ARMv7‐R):硬实时且高性能的处理器。标的是高端实时市场。那些高级
的玩意,像高档轿车的组件,大型发电机控制器,机器手臂控制器等,它们使用的处理
器不但要很好很强大,还要极其可靠,对事件的反应也要极其敏捷。 
•  款式M(ARMv7‐M):认准了旧世代单片机的应用而量身定制。在这些应用中,尤其是对于实时控制系统,低成本、低功耗、极速中断反应以及高处理效率,都是至关重要的。
Cortex系列是v7架构的第一次亮相,其中Cortex‐M3就是按款式M设计的。到目前为止,Cortex‐M3也是款式M中被抚养成人的独苗。

 

做四旋翼基本都是基于arm的 ,也基本都是基于stm32的,这里的比较就知道stm32的定位了,对arm体系也有一个好的理解。


关键字:STM32  ARM的 引用地址:STM32与通常ARM的区别

上一篇:单片机与ARM的区别和选择
下一篇:STM32学习笔记---基于UCOSII的EXTI外部按键中断实验

推荐阅读最新更新时间:2024-03-16 16:15

stm32之路:三 约好那一刻
万事开头难,前两天,我们已经建好了工程,写了点亮LED的程序,是不是感觉stm32也没想象中那么难?接下来,go on! 开发板上的LED在闪烁着,间隔是多长时间呢?能不能让它像钟表一样,一秒闪一下呢?答案是肯定的。今天我的目标,就是教它“读”秒~ 还是上一个函数,功能都有了,就是缺个精确的延时。说到“精确的延时”,大家首先想到的一定是定时器。对!就是它。翻开stm32的参考资料(Cortex-M3技术参考手册、Cortex-M3权威指南、STM32F10xxx数据手册,这些都可以),有个SysTick,就用它吧。一般人们把它叫做“系统节拍时钟”,或者叫“滴答定时器”,因为它可以可靠的提供一个精确的
[单片机]
基于ARM和SD卡嵌入式文件系统研究与设计
引言 随着嵌入式处理器计算机能力的不断提高,32位MPU已成为嵌入式系统应用的主流。本文针对汽车性能记录仪研发中遇到的数据存储和数据交换的问题,在ARM9嵌入式处理器和mC/OS-II操作系统基础上采用SD卡设计开发了一种嵌入式文件系统,该系统具有支持多操作系统、易于移植和存储速度快的特点。 接口电路设计 硬件平台的控制核心采用三星公司16/32位RISC控制器S3C2410A,它采用ARM920T内核,主频可达203MHz,内部具有丰富的系统外围设备控制器,包括SD卡控制器。SD卡支持SPI和BUS两种接口模式,本系统采用BUS接口模式。S3C2410A与SD卡读写器的接口电路如图1所示。 SD卡的DAT0~DAT
[单片机]
基于<font color='red'>ARM</font>和SD卡<font color='red'>的</font>嵌入式文件系统研究与设计
STM32输出PWM状态总结
简介:STM32输出PWM状态总结:输出极性(Polarity);PWM Mode;Asymmetric PWM mode;Combined PWM mode等相关内容。 输出极性(Polarity): 基于正逻辑,即高电平为1,低电平为0 1.输出极性高(Polarity_High):高电平1为有效状态(active),低电平0为无效状态(inactive) 2.输出极性低(Polarity_Low):低电平0为有效状态(active),高电平1为无效状态(inactive) PWM Mode: 分为边沿对齐和中心对齐模式 对应向上/下计数,中心对齐计数 PWM Mode 1: 向上计数:TIMx_
[单片机]
stm32编译时报错 ..........ER_IROM1: File exists 问题
芯片型号是STM32F103CB(128K),在工程中定义了一个常量数组到801F000地址处,编译时出现 ......ER_IROM1: File exists ........错误, 发现原来是芯片的型号之前为了程序方便STM32F103C8型号使用,设置成了STM32F103C8(64K),程序空间大小不一样,所以 编 译时超出了地址范围就报错。
[单片机]
基于三星S3C2410ARM-Linux电子控制油门设计
  引言   巡航控制系统(CCS)是20世纪60年代发展起来的,又称为恒速行驶系统。巡航控制系统工作时,ECU根据各种传感器输送来的信号判断汽车的运行状况,通过执行元件自动调节节气门的开度使汽车的行驶速度与设定的车速保持一致。汽车在良好路面上长时间行驶时,驾驶员启动巡航控制系统并设定行驶速度,不需驾驶员操纵加速踏板,通过巡航控制系统即可自动保持既定的行驶速度,不仅减轻了驾驶员的劳动强度,同时利用先进的电子控制技术控制节气门的开度,比驾驶员操纵节气门更精确,汽车燃料经济性、排放污染性也可得到改善。   1 系统原理   1.1 电控油门原理   工作时,由驾驶员发出转速的控制指令,由节气门开度传感器采集发动机的转速参数,并把信
[单片机]
基于三星S3C2410<font color='red'>的</font><font color='red'>ARM</font>-Linux电子控制油门设计
STM32单片机智能温控风扇设计简介
一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602液晶、按键、蜂鸣器、L298N电机驱动模块、直流电机、DS18B20温度传感器等。 系统功能: 系统运行后,LCD1602显示传感器检测的温度值;默认以自动模式运行,若按下K4键切换为手动模式,此时可以通过K1和K2控制风扇加减速,风扇档位共5档(0-5)。当再次按下K4键切换为自动模式;自动模式下,实时检测温度值,当温度高于上限且在2C范围内,以3档运行。当温度高于上限且在4C范围内,以4档运行。当温度高于上限且在6C范围内,以5挡运行。当温度高于上限且超过6C范围,以5档运行且蜂鸣器报警。若温度在上下限范围内,风扇以2档运行。若
[单片机]
<font color='red'>STM32</font>单片机智能温控风扇设计简介
IAR全面支持兆易创新基于Arm® Cortex®-M7内核超高性能MCU
IAR嵌入式开发解决方案现已全面支持兆易创新GD32H7系列,与合作伙伴一同为高端创新应用提供开发利器 中国上海—2023年7月13日,嵌入式开发软件和服务的全球领导者IAR与业界领先的半导体器件供应商兆易创新(GigaDevice)联合宣布, 最新发布的IAR Embedded Workbench for Arm 9.40版本已全面支持兆易创新基于Arm® Cortex®-M7内核的超高性能MCU微控制器——GD32H737/757/759系列,为开发人员提供高效的工具链。 GD32H737/757/759系列超高性能MCU基于600MHz Arm® Cortex®-M7内核,凭借双发射6级流水线架构,以及支持高带
[嵌入式]
IAR全面支持兆易创新基于<font color='red'>Arm</font>® Cortex®-M7内核<font color='red'>的</font>超高性能MCU
stm32串口接收字符串以十六进制数
#include pbdata.h uint8_t TxBuffer1 = USART Interrupt Example: This isUSART1 DEMO ; uint8_t RxBuffer1 ,rec_f,tx_flag; vola ti le uint8_t TxCounter1 = 0x00; volatile uint8_t RxCounter1 = 0x00; uint32_t Rec_Len; int main(void) { u8 a=0; RCC_Configuration(); NVIC_Configuration(); GPIO_Configuration();
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved