预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共35页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ARMCortexM3内核结构ARMCortexM3处理器简介2、1、1概述ARM公司成立于上个世纪九十年代初,致力于处理器内核研究,ARM即AdvancedRISCMachines得缩写,ARM公司本身不生产芯片,只设计内核,靠转让设计许可,由合作伙伴公司来生产各具特色得芯片。这种运行模式运营得成果受到全球半导公司以及用户得青睐。目前ARM体系结构得处理器内核有:ARM7TDMI、ARM9TDMI、ARM10TDMI、ARM11以及Cortex等。2005年ARM推出得ARMCortex系列内核,分别为:A系列、R系列与M系列,其中A系列就是针对可以运行复杂操作系统(Linux、WindowsCE、Symbian等)得处理器;R系列就是主要针对处理实时性要求较高得处理器(汽车电子、网络、影像系统);M系列又叫微控制器,对开发费用敏感,对性能要求较高得场合。CortexM系列目前得产品有M0、M1、M3,其中M1用在FPGA中。CortexM系列对微控制器与低成本应用提供优化,具有低成本、低功耗与高性能得特点,能够满足微控制器设计师进行创新设计得需求。其中,ARMCortexM3处理器得性能就是ARM7得两倍,而功耗却只有ARM7得1/3,适用于众多高性能、极其低成本需求得嵌入式应用,如微控制器、汽车系统、大型家用电器、网络装置等,ARMCortexM3提供了32位微控制器市场前所未有得优势。CortexM3内核,内部得数据路径为32位,寄存器为32位,存储器接口也就是32位。CortexM3采用了哈佛结构,拥有独立得指令总线与数据总线,可以让取指与数据访问分开进行。CortexM3还提供一个可选得MPU,对存储器进行保护,而且在需要得情况下也可以使用外部得cache。另外在CortexM3中,存储器支持小端模式与大端存储格式。CortexM3内部还附赠了很多调试组件,用于在硬件水平上支持调试操作,如指令断点,数据观察点等。另外,为支持更高级得调试,还有其它可选组件,包括指令跟踪与多种类型得调试接口。2、1、2内核结构组成及功能描述CortexM3微控制器内核包括处理核心与许多得组件,目得就是用于系统管理与调试支持。如图2、1为CortexM3内核方框图。NMI中断号[239:0]SLEEPINGSLEEPDEEPNVICSysTick中断睡眠CM3核调试指令数据MPUCortexM3触发ETMTPIUFPBDWTITM专用外设总线SWDPJTAGDP专用外设总线(内部)AHBAPAPBROM表总线矩阵Icode总线Dcode总线系统总线总线矩阵系统总线(AHB)静态RAM外部RAM外部控制器设备AHBtoAPB总线Flash存储器SRAM可选配外部RAMI/O外设总线UARTPWMTimer图2、1CortexM3内核方框图1、处理器内核CortexM3处理器内核采用ARMv7M架构,其主要特性如下:Thumb2指令集架构(ISA)得子集,包含所有基本得16位与32位Thumb2指令;哈佛处理器架构,在加载/存储数据得同时能够执行指令取指;带分支预测得三级流水线;32位单周期乘法;硬件除法;Thumb状态与调试状态;处理模式与线程模式;ISR得低延迟进入与退出;可中断可继续(interruptiblecontinued)得LDM/STM、PUSH/POP;支持ARMv6类型BE8/LE;支持ARMv6非对齐访问。2、NVIC(嵌套向量中断控制器)NVIC与处理器内核就是紧密耦合得,这样可实现快速、低延迟得异常处理。在CortexM微控制器此功能非常强大。3、总线矩阵总线矩阵用来将处理器与调试接口与外部总线相连。处理器包含4个总线接口:ICode存储器接口:从Code存储器空间(0x0000000–0x1FFFFFFF)得取指都在这条32位AHBLite总线上执行。DCode存储器接口:对Code存储器空间(0x0000000–0x1FFFFFFF)进行数据与调试访问都在这条32位AHBLite总线上执行。系统接口:对系统空间(0x20000000–0xDFFFFFFF)进行取指、数据与调试访问都在这条32位AHBLite总线上执行。外部专用外设总线(PPB):对外部PPB空间(0xE0040000–0xE00FFFFF)进行数据与调试访问都在这条32位APB总线(AMBAv2、0)上执行。跟踪端口接口单元(TPIU)与厂商特定得外围器件都在这条总线上。注:处理器包含一条内部专用外设总线,用来访问嵌套向量中断控制器(NVIC)、数据观察点与触发(DWT)、Flash修补与断点(FPB),以及存储器保护单元(MPU)。4、FPBFPB单元实现硬件断点以及从代码空间到系统空间得修补访问,