STM32 的核心Cortex-M3 处理器

发布者:DelightfulSmile最新更新时间:2015-03-31 来源: eechina关键字:STM32  核心  Cortex-M3  处理器 手机看文章 扫描二维码
随时随地手机看文章
STM32 的核心Cortex-M3 处理器
STM32 的核心Cortex-M3 处理器是一个标准化的微控制器结构,希望思考一下,何为标准化?
简言之,Cortex-M3 处理器拥有32 位CPU,并行总线结构,嵌套中断向量控制单元,调试系
统以及标准的存储映射。
嵌套中断向量控制器(Nested Vector Interrupt Controller,简称NVIC)是Cortex-M3 处理器中
一个比较关键的组件,它为基于Cortex-M3 的微控制器提供了标准的中断架构和优秀的中断
响应能力,为超过240 个中断源提供专门的中断入口,而且可以赋予每个中断源单独的优先
级。利用NVIC 从可以达到极快的中断响应速度,从收到中断请求到执行中断服务的第一条
指令仅需12 个周期。这种极快的响应速度一方面得益于Cortex-M3 内核对堆栈的自动处理
机制,这种机制是通过固化在CPU 内部的微代码实现的。另一方面,在中断请求连续出现
的情况下,NVIC 使用一种称为“尾链”的技术,使连续而来的中断可以在6 个时钟周期内得
到服务。在中断的压栈阶段,更高优先级的中断可以不耗费任何额外的CPU 周期就能完成
嵌入低优先级中断的动作。具体的细节后面我会继续总结的。用户可以通过设置CPU 自动
进入低功耗状态,而使用中断来将其唤醒,CPU 在中断时间来临之前会一直保持睡眠状态。
这个后面我也会再总结。
Cortex-M3 的CPU 支持两种运行模式:线程模式(Thread Mode)与处理模式(Handler Mode)
并且需要注意的是,这两种模式都拥有各自独立的堆栈。这种设计使得开发人员可以进行更
为精密的程序设计,对实时操作系统的支持也就更好了。
Cortex-M3 处理器还包含了一个24 位可自动重装载定的定时器,可以为内核(RTOS)提供
一个周期中断。
在指令集方面,ARM7 和ARM9 都有两种指令集(32 位指令集和16 位指令集),而Cortex-M3
系列处理器支持Thumb-2 指令集。由于Thumb-2 指令集融合了Thumb 指令集和ARM 指令
集,使得32 位指令集的性能和16 位指令集的代码密度之间取得了平衡。
而且,ARM Thumb-2 专门为C/C++编译器设计,这就意味着Cortex-M3 系列处理器的开发应
用可以全部在C 语言环境中完成。
STM32 微控制器的推出标志着ST 公司在两条产品主线(低价位主线和高性能主线)上迈出
了重大一步。STM32 最初发布时有14 个不同型号,分为两个版本:最高CPU 时钟为72MHZ
的“增强型”和最高CPU 时钟为36MHZ 的“基本型”。这些不同STM32 型号里内置的Flash 最
大可达128KB,SRAM 最大为20KB,在STM32 发布之初,配置更大Flash,RAM 和更复杂外设
的版本就已经在规划之中了。不管是什么版本,什么型号的STM32 器件,它们在引脚功能
和应用软件上是兼容的。这就使得开发人员在使用STM32 系列微控制器时,不必改动PCB
就可以根据需要随意更换器件型号。
乍一看STM32 的设备配备,与往日熟悉的51 单片机倒有几分相似。一般,STM32 都会配备

常见外设,诸如多通道ADC,通用定时器,I2C 总线接口,SPI 总线接口,CAN 总线接口,USB
控制器,实时时钟RTC 等。但是,它的每一个外部设备都具有独特之处。例如,12 位精度
的ADC 具备多种转换模式,并带有一个内部温度传感器,带有双ADC 的STM32 器件,还可
以使两个ADC 同时工作,从而衍生出了更为高级的9 种转换模式;STM32 的每一个定时器
都具备4 个捕获比较单元,而且每个定时器都可以和另外的定时器联合工作以生成更为精密
的时序;STM32 有专门为电机控制而设的高级定时器,带有6 个死区时间可编程的PWM 输
出通道,同时其带有的紧急制动通道可以在异常情况出现时,强迫PWM 信号输出保持在一
个预订好的安全状态;SPI 接口含有一个硬件CRC 单元,支持8 位字节和16 位半字数据的
CRC 计算。在对SD 或MMC 等存储介质进行数据存取时相当有用。
而且,STM32 还包含了7 个DMA 通道。没恶搞通道都可以用来在设备与内存之间进行8 位,
16 位,32 位数据的传输。每个设备都可以向DMA 控制器请求发送或者接收数据。STM32
内部总线仲裁器和总线矩阵将CPU 数据接口和DMA 通道之间的连接大大的简化了,这就意
味着DMA 通道单元是很灵活的其使用方法简单,足以应付微控制器应用中常见的数据传输
要求。
我们前面说过了,STM32 是低功耗,高性能的微控制器。在低功耗方面,STM32 表现也是
不错的。它可以在2V 供电的情况下运行,在所有设备同时打开且运行在满速72MHZ 主频的
情况下,也仅消耗36mA 的电流,在与Cortex-M3 内核的低功耗模式结合之后,只有2uA 的
电流消耗。即便外部振荡器处在待启动状态,STM32 使用内部8MHZ 的RC 振荡器也可迅速
退出低功耗模式。这种快速进出低功耗模式的特性,也进一步降低了微控制器整体的功率消
耗,同时使微控制器仍然可以保持器件的整体高性能。
在电子领域,对器件的要求精度高是一方面,另一方面,还要求器件稳定性要好,处于可靠
性的考虑,STM32 配备了一系列硬件来支持对可靠性的高度要求。这些硬件有:一个低电
压检测器,一个时钟安全管理系统和两个看门狗定时器。时钟管理系统可以检测到外部主振
荡器的失效,并随即安全的将STM32 内部8MHZ 的RC 振荡器切换为主时钟源。两个看门狗
定时器中的一个称为窗口看门狗。窗口看门狗必须在事先定义好的时间上下限到达之前刷新,
如果过早或过晚的刷新它,将会触发窗口看门狗复位。第二个看门狗称为独立看门狗。独立
看门狗使用外部振荡器驱动,该振荡器与主系统时钟是相互独立的,这样即便STM32 的主
系统时钟崩溃,独立看门狗也能“力挽狂澜”。
在现代电子设计行业中,有一个问题是无法逃避的,那就是你不得不想方设法提高代码的安
全性以防止被破解人员盗用。听师傅说,在极难得电子市场,复制一个芯片只需要几分钟。
STM32 可以锁住其内部Flash 使破解人员无法通过调试端口读取其内容。当Flash 的读保护
功能开启后,其写保护功能也随之开启。写保护功能常用于防止一些来历不明的代码写入中
断向量表。但是,写保护不仅可以保护中断向量表,还可以进一步将其保护范围延伸到整个
Flash 中的未被使用区域。另外,STM32 还有一小块电池备份RAM 区,这个RAM 区域对应
于一个入侵检测引脚应用,当这个引脚上产生电平变化时,STM32 会认为遭遇了入侵事件,
随即自动将电池备份RAM 区的内容全部清除。
目前好多开发工具都开始支持Thumb-2 指令集和STM32 系列,即使不支持也没有关系,我

们只需要将软件升级一下即可。同时,ST 公司还提供了一个设备驱动固件库和一个USB 开
发应用库,以方便调用。对于STM32 来说,一些早期微控制器比如早期的STR7 和STR9 发
布的ANSI C 库和源代码都是可移植的。这些程序的接口已经在许多流行的编译工具上得到
了整合。相似的,许多开源的或者商用的RTOS,还有一些中间件(比如TCP/IP 栈,文件系
统)对以STM32 系列微控制器来说也是可用的。
Cortex-M3 还带有一个全新调试系统CoreSight。用户可以使用标准的JTAG 接口或者双线串
行接口通过调试端口(Debug Access Port)实现和CoreSight 系统的对接。除了提供调试运行
控制服务之外,STM32 上的CoreSight 还提供断点数据查看功能以及一个指令跟踪器。指令
跟踪器可以将用户选择的应用信息上传到调试工具里。从而可以为用户提供额外的调试信息,
并且它在软件运行期间同样可以使用。
关键字:STM32  核心  Cortex-M3  处理器 引用地址:STM32 的核心Cortex-M3 处理器

上一篇:关于ARM解密,一些个人的看法
下一篇:基于ARM的嵌入式系统从串配置FPGA的实现

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

STM32 基础系列教程 22 - CAN
前言 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。 CAN 的高性能和可靠性已被认同,并被广泛地应用于工业
[单片机]
<font color='red'>STM32</font> 基础系列教程 22 - CAN
德州仪器全新达芬奇技术开发平台加速数字视频产品开发
全套工具与软件支持基于 TI 最新 TMS320DM643x DSP 数字媒体处理器的设计 2007 年 3 月 19 日,北京讯 德州仪器 (TI)日前宣布针对上季度推出的DM643x 数字媒体处理器提供TMS320DM6437 数字视频开发平台 (DVDP),从而进一步推动了 DSP 技术在新一代数字视频领域的应用。DM6437 DVDP 捆绑提供完整的 TMS320DM6437评估板 (EVM) 以及低于500美金的全套达芬奇 (DaVinci) 开发工具与软件,为相关处理器带来了完整的达芬奇技术开发环境。DM6437 DVDP极具价格竞争力,并为开发人员提供了在设计全过程中可使用的完整平台,从而加速了各种应用的数字视频
[新品]
TI案例:多媒体处理器动态电源管理
多媒体处理器通常是便携式 电子 设备中功耗最高的器件。降低 CPU 功耗要求的常见方法是降低时钟频率或工作 电压 ,但是一般而言这样做会使系统性能降低。另一方面, 芯片 设计人员还提出了各种片上方法来降 低功耗 ,并且不会对系统产生不利影响。本文介绍了这些方法的概念,以及我们如何运用它们实现节能的目的,同时还讨论了帮助处理器芯片获益的一些外部 电源管理 器件和 电源 IC。 有源电源管理 片上电源管理技术主要适用于两类应用:管理有源系统功耗和管理待机功耗。 有源电源管理分为三个部分:动态电压与频率缩放 (DVFS);自适应电压缩放 (AVS);以及动态电源转换 (DPS)。另一方面,静态功耗
[电源管理]
TI案例:多媒体<font color='red'>处理器</font>动态电源管理
Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译
1.为什么不是gcc 之前我们花了三篇文章介绍Linux下如何进行C语言编程: Linux C语言编程(上篇) | gcc的使用 Linux C语言编程(中篇) | make的使用 Linux C语言编程(下篇) | gdb的使用 这是为了给接下来的Linux下嵌入式开发打好基础,尽快熟悉Linux下c编程,但是在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc呢?这就要说到linux下的交叉编译了,因为我们要在PC机上编译出可以运行在ARM上的程序,使用gcc编译出的是在PC上运行的程序,所以我们要使用gcc-arm-none-eabi进行交叉编译~ 2.gcc-a
[单片机]
Linux下开发<font color='red'>stm32</font>(一) | 使用gcc-arm-none-eabi工具链编译
Intel 5核心第二款型号i5-L15G7现身
在努力推进新工艺、新架构的同时,Intel这几年对新的封装技术也格外用心,这是也是在工艺、架构提升越来越难的情况下,另辟蹊径拔高性能、能效的新尝试。 2019年初,Intel就宣布了全新的3D Foveros立体封装,首款产品代号Lakefield,整合22nm工艺的基底层和10nm的计算层,包括一个高性能的Sunny Cove、四个低功耗的Tremont共五个CPU核心,微软Surface Duo双屏本、三星Galaxy Book S笔记本都会用它。 异常小巧的Lakefield Lakefield主板也非常迷你 之前我们曾经见过Lakefield家族中的一款酷睿i5-L16G7,开辟全新的命名方式,基准频率
[嵌入式]
Intel 5<font color='red'>核心</font>第二款型号i5-L15G7现身
摩托罗拉Droid 3确认采用TI处理器和qHD屏幕
    NenaMark的跑分软件泄露了摩托罗拉Droid 3的最终配置情况,正如之前传闻所说的那样,新一代Dorid机型将采用德州仪器的双核1GHz OMAP 4430处理器,内置PowerVR SGX540图形芯片,屏幕分辨率高达540x960,运行Android 2.3.3系统。性能测试结果为45.7帧,高于目前三星和LG的各种旗舰机型。
[手机便携]
stm32硬件i2c stm32硬件iic缺陷如何解决
STM32单片机具有IIC接口,IIC接口具有多主机功能、主设备功能、C地址检测、产生和检测7位/10位地址和广播呼叫和支持不同的通讯速度。 STM硬件I2C的状态标签如下: 发送器/接收器模式标志、字节发送结束标志、中先忙标志、错误标志 STM硬件有9个寄存器。 STM32硬件I2C的CLK在50kHz及以下情况下工作,短时间内不会出现任何情况下的卡住。 STM32硬件I2C的CLK在常用的100kHz和400kHz下工作,一小时内大概率出现卡住现象。 STM32硬件I2C的CLK在任何频率下工作,在读取或发送数据时不允许有其他中断事件干扰,否则将有卡住现象。 总的来说,STM32硬件I2C是个坑,对正常工作的环境要求非常高
[单片机]
米尔这款首发的国产核心板批量上市了!全志T527
2023年12月,米尔电子联合战略合作伙伴全志科技,率先业内发布了国产 第一款T527核心板及开发板 ,这款高性能、高性价比、八核A55的国产核心板吸引了广大客户关注,为积极响应客户需求,米尔基于全志T527核心板现已批量上市! 产品型号 主芯片 内存LPDDR4 存储器 EMMC 工作温度 国产物料 MYC-LT527M-16E2D-180-E LT527M 2GB 16GB 宽温级 --- MYC-LT527M-8E1D-180-I-G LT527M 1GB 8GB 工业级 100%国产 MYC-LT527M-16E2D-180-I-G LT
[嵌入式]
米尔这款首发的国产<font color='red'>核心</font>板批量上市了!全志T527
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved