ARM学习资料.Cortex-M3处理器体系结构_第1页
ARM学习资料.Cortex-M3处理器体系结构_第2页
ARM学习资料.Cortex-M3处理器体系结构_第3页
ARM学习资料.Cortex-M3处理器体系结构_第4页
ARM学习资料.Cortex-M3处理器体系结构_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Copyright Cortex-M3Cortex-M3处理器体系结构处理器体系结构Copyright 版本管理 修改记录 审核记录版本号版本号.作者作者描述描述修改日期修改日期版本号版本号.职务职务签名签名修改日期修改日期V01工程师张立为20120706Copyright 概览Cortex-M3处理器内核Cortex-M3处理器指令集Thumb-2Cortex-M3嵌套向量中断控制器NVICCortex-M3存储器管理存储器保护单元MPU总线接口调试跟踪接口开发软件和RTOSCopyright Cortex-M3定位从右边的图可以分析出Cortex-M3处理器架构:ARMv7-M指令集:T

2、humb-2ARM 架构支持各种性能点上的实现。在许多细分市场中它都占有主要架构的地位。而其中Cortex-M 处理器,通过配置文件,可快速进行中断处理,适用于需要高度确定的行为和最少门数的成本、功耗敏感型设备。而Cortex-M3处理器作为其中的佼佼者,就不得不引起我们的关注。Copyright Cortex-M3现状 NXP:LPC17000 TI-Luminary Micro:LM3S ST:STM32 Atmel:SAM3U 此四大知名厂商采用Cortex-M3处理器的设计出来的芯片,主要在于片上存储器容量、集成外设、功能模块的区别。Copyright CortexM3内核方框图Cor

3、tex-M3处理器主要包括:1. 处理器内核2. 与处理器内核紧密结合的嵌套向量中断控制器(NVIC)以实现低延迟的中断处理3. 存储器保护单元(MPU),可选部件MPU实现存储器保护4. 总线接口5. 调试接口Copyright Cortex-M3性能参数Cortex-M3处理器规范 以下引用的数字是使用通用 TSMC 工艺技术和 ARM 物理 IP 标准单元库和RAM 的合成核心的说明。Dhrystone:整数运算能力在1MHz频率下,每秒执行一百二十五万条指令的整数运算能力。Copyright Cortex-M3处理器指令集Thumb-2 ARM Thumb-2技术的代码密度和代码性能

4、引自:ARM公司Richard Phelan撰写的如何使用Thumb-2改善代码密度和性能Copyright Cortex-M3处理器指令集Thumb-2 Thumb-2技术可以带来很多好处: 可以实现ARM指令的所有功能。 增加了12条新指令,可以改进代码性能和代码密度之间的平衡。 代码性能达到了纯ARM代码性能的98%。 相对ARM代码,Thumb-2代码的大小仅有其74% 代码密度比现有的Thumb指令集更高。 代码大小平均降低5%。 代码速度平均提高2-3%。注:Cortex-M3不支持ARM指令集。Copyright Cortex-M 技术之技术之CMSIS ARM Cortex 微

5、控制器软件接口标准 (CMSIS) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。 使用 CMSIS,可以为接口外设、实时操作系统和中间件实现一致且简单的软件接口,从而简化软件的重用、缩短新微控制器开发人员的学习过程,并缩短新产品的上市时间。注:此接口标准可以从各自芯片厂家那里得到。例如ST公司 把CMSIS放在其开发的固件库内。CMSIS全称:Cortex Microcontroller Software Interface Standard 以下是CMSIS结构图Copyright Cortex-M 技术之技术之CMSISCopyright Cortex-M 技术之技术之NV

6、IC NVIC 为处理器提供了卓越的中断处理能力。 Cortex-M 处理器使用一个矢量表,其中包含要为特定中断处理程序执行的函数的地址。接受中断时,处理器会从该矢量表中提取地址。为了减少门数并增强系统灵活性,Cortex-M 处理器使用一个基于堆栈的异常模型。出现异常时,系统会将关键通用寄存器推送到堆栈上。完成入栈和指令提取后,将执行中断服务例程或故障处理程序,然后自动还原寄存器以使中断的程序恢复正常执行。使用此方法,便无需编写汇编器包装器了(而这是对基于 C 语言的传统中断服务例程执行堆栈操作所必需的),从而使得应用程序的开发变得非常容易。NVIC 支持中断嵌套(入栈),从而允许通过运用较

7、高的优先级来较早地为某个中断提供服务。Copyright Cortex-M 技术之技术之NVIC 在硬件中完成对中断的响应 Cortex-M 系列处理器的中断响应是从发出中断信号到执行中断服务例程的周期数。它包括: 检测中断 背对背或迟到中断的最佳处理 提取矢量地址 将易损坏的寄存器入栈 跳转到中断处理程序 这些任务在硬件中执行,并且包含在为 Cortex-M 处理器报出的中断响应周期时间中。在其他许多体系结构中,这些任务必须在软件的中断处理程序中执行,从而引起延迟并使得过程十分复杂。Copyright Cortex-M 技术之技术之NVIC NVIC 中的尾链 在背对背中断的情况下,传统系统

8、会重复完整的状态保存和还原周期两次,从而导致更高的延迟。Cortex-M 处理器通过在 NVIC 硬件中实现尾链技术简化了活动中断和挂起的中断之间的转换。处理器状态会在比软件实现时间更少的周期内自动保存在中断条目上并在中断退出时还原,从而显著提升低 MHz 系统的性能。 Copyright Cortex-M 技术之技术之NVIC NVIC 对迟到的较高优先级中断的响应 如果在为上一个中断执行堆栈推送期间较高优先级的中断迟到,NVIC 会立即提取新的矢量地址来为挂起的中断提供服务,如上所示。Cortex-M NVIC 对这些可能性提供具有确定性的响应并支持迟到和抢占。 Copyright Cor

9、tex-M 技术之技术之NVIC NVIC 进行的堆栈弹出抢占 同样,如果异常到达,NVIC 将放弃堆栈弹出并立即为新的中断提供服务,如上所示。通过抢占并切换到第二个中断而不完成状态还原和保存,NVIC 以具有确定性的方式实现了缩短延迟。Copyright Cortex-M3编程模式 工作模式: 线程模式在复位时处理器进入线程模式, 异常返回时也会进入该模式。 处理模式出现异常时处理器进入处理模式。 工作状态: Thumb状态是16位和32位半字对齐的thumb和thumb-2指令的正常执行状态。 调试状态处理器停机调试时进入该状态。 特权与非特权访问: 代码可以是特权执行或非特权执行。 非特

10、权执行时对有些资源的访问受到限制或不允许访问。特权执行可以访问所有资源。 处理模式始终是特权访问,线程模式可以是特权或非特权访问。 Copyright Cortex-M3编程模式 主堆栈和进程堆栈 线程模式使用主堆栈还是进程堆栈取决于 CONTROL 位1的值。该位可使用 MSR或 MRS 来访问,也可以在退出 ISR 时使用适当的 EXC_RETURN的值来设置。 Cortex-M3 处理器17个寄存器 13 个通用寄存器,r0r12 分组的堆栈指针r13,SP_process和SP_main 链接寄存器,r14 ,用于异常返回和接受来自PC的返回地址。 程序计数器,r15 ,由于该寄存器的

11、位0始终为0,所以该指令始终与字或半字边界对齐。 1 个程序状态寄存器,xPSR ,访问通过MRS和MSR指令。Copyright Cortex-M3编程模式寄存器集Copyright Cortex-M3编程模式 支持数据类型:32位,16位,8位。 存储器格式:Coretx-M3处理器能够以小端格式和大端格式访问存储器的数据字,而访问代码始终使用小端模式。 小端格式中,一个字中最低地址的字节位为字节的最低有效字节。最高地址的字节为最高有效字节。 在大端格式中,一个字中最低地址的字节为该字的最高有效字节,而最高地址的字节为最低有效字节。Copyright Cortex-M3存储器映射 固定的存

12、储器映射,下图为其映射结构。Copyright Cortex-M3存储器映射 存储器接口存储器映射存储器映射接口接口Code取指令在ICode,数据访问在Dcode。SRAM取指令和数据访问都在System bus。Peripheral 同上External RAM同上External Device同上Periph_bitband数据访问别名,指令访问非别名。SRAM_bitband同上Private Peripheral Bus该存储区域从不执行。不能通过MPU修改System厂商系统外设的系统部分,同样为不能执行。Copyright Cortex-M3存储器映射Bit-banding机制

13、别名区的一个字映射为Bit-banding的一个位。即更改别名区里的某个字节 内容,相当于更改了Bit-banding区的某一位内容。 处理器的存储器映射包括来两个Bit-banding区域,分别位于SRAM和 外设存储区域中的最低1MB。 别名区的字对应Bit-banding区的对应为公式如下:bit_word_offset=(byte_offset*32)+(bit_number*4)bit_word_addr=bit_band_base+bit_word_offset例如:地址0 x23FFFFE0的别名字映射为0 x200FFFFF的Bit-banding字节的位0;0 x23FFFF

14、E0=0 x22000000+(0 xFFFFF*32)+0*4 下图为Bit-banding映射图 Copyright Cortex-M3存储器映射Copyright Cortex-M3异常处理 Cortex-M3 处理器和嵌套向量中断控制器(NVIC)对所有异常按优先级进行排序并处理。所有异常都在处理模式中操作。出现异常时,自动将处理器状态保存到堆栈中,并在中断服务程序(ISR)结束时自动从堆栈中恢复。在状态保存的同时取出向量快速地进入中断。处理器支持末尾连锁(tail-chaining)中断技术,它能够在没有多余的状态保存和恢复指令的情况下执行背对背中断(back-to-back int

15、errupt) 。以下特性可使能高效的低延迟异常处理。 特性: 自动的状态保存和恢复。处理器在进入 ISR 之前将状态寄存器压栈,退出 ISR 之后将它们出栈,实现上述操作时不需要多余的指令。 优先级屏蔽支持临界区 Copyright Cortex-M3异常处理 自动读取代码存储器或 SRAM 中包含 ISR 地址的向量表入口。该操作与状态保存同时执行。 支持末尾连锁(tail-chaining) ,在末尾连锁(tail-chaining)中,处理器在两个 ISR之间没有对寄存器进行出栈和压栈操作的情况下处理背对背中断。 中断优先级可动态重新设置。 Cortex-M3与 NVIC 之间采用紧耦

16、合接口,通过该接口可以及早地对中断和高优先级的迟来中断进行处理。 中断数目可配置为 1240。 中断优先级的数目可配置为 18 位(1256 级) 。 处理模式和线程模式具有独立的堆栈和特权等级。 使用 C/C+标准的调用规范:ARM 架构的过程调用标准(PCSAA)执行 ISR 控制传输。Copyright Cortex-M3电源管理 ARMv7-M 架构支持为减少功耗而让 Cortex-M3 和系统时钟停止运行的系统睡眠模式。睡眠机制睡眠机制 描述描述立即睡眠等待中断(WFI)或等待事件(WFE)指令请求立即睡眠模式。这些指令使得 NVIC 让处理器进入挂起其他异常事件的低功耗状态。 退出

17、时睡眠当系统控制寄存器的 SLEEPONEXIT 位置位时,一旦处理器退出最低优先级的 ISR,它就进入低功耗状态。处理器无需将寄存器出栈,就可进入低功耗状态,并且无需让寄存器压栈就可以产生下一个异常事件。内核一直处于睡眠状态直至别的异常被挂起。这是一个自动的WFI模式。 深度睡眠 深度睡眠与立即睡眠和“退出时睡眠”机制共用。当系统控制寄存器的 SLEEPDEEP 位置位时,处理器指示系统可以进入深度睡眠。 Copyright 存储器保护单元MPU MPU是保护内存的一个组件。 支持标准的 ARMv7(PMSA) “Protected Memory System Architecture ”

18、模型。 MPU为以下操作提供完整的支持: 保护区域 重叠保护区区域 访问权限 将存储器属性输出到系统 MPU可以用于: 强制执行特权原则 分离程序 强制执行访问原则Copyright 总线接口 ICode 存储器接口。从 Code 存储器空间(0 x0000000 0 x1FFFFFFF)的取指都在这条 32 位 AHBLite 总线上执行。 DCode存储器接口。对 Code 存储器空间(0 x0000000 0 x1FFFFFFF)进行数据和调试访问都在这条 32 位AHBLite 总线上执行。 系统接口。对系统空间(0 x20000000 0 xDFFFFFFF)进行取指、数据和调试访问都在这条 32位 AHBLite总线上执行。 外部专用外设总线(PPB) 。对外部 PPB 空间(oxE0040000 0 xE00FFFFF)进行数据和调试访问都在这条 32 位 APB 总线(AMBA v2.0)上执行。跟踪端口接口单元(TPIU)和厂商特定的外围器件都在这条总线上。Copyright 调试跟踪端口 内核调试端口:通过内核调试寄存器进行访问,而调试访问这些寄存器时需通过 AHB-AP 端口。 系统调试端口:其调试控制和数据访问也是通过 AHB-AP 端口实现。 跟踪端口:跟踪端口的接口单元充当嵌入式跟踪宏单元(ETM)和仪表跟踪宏单元(ITM)与跟踪端口分析仪(TPA)之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论