ARM_Cortex-M3内核结构
Cortex-M3_技术介绍

• ARM微处理器及其发展
ARM微处理器的几个系列:
ARM7系列、ARM9系列、 ARM9E系列、 ARM10E系列、 SecurCore系列、Intel的XScale系列、 Cortex系列。
ARM体系结构的发展:
(1)V1~V3版本; (2)V4T版本; (3)V5版本; (4)V6版本; (5)V7版本。
Avatar Semiconductor Co.
选择ARM处理器,ARM7还是 Cortex-M3
Avatar Semiconductor Co.
决策:
那么,你应该如何做出何种选择呢? 如果成本是最主要考虑因素,您应该选择Cortex-M3; 如果在低成本的情况下寻求更好的性能和改进功耗,您应 该考虑选用Cortex-M3;特别是如果你的应用是汽车和无 线领域,可以采用Cortex-M3,这也正是Coretex-M3的主 要定位市场。 由于Cortex-M3内核中的多种集成元素以及采Thumb-2 指令集,其开发和调试比ARM7TDMI要简单快捷。 TI的Stellaris系列微控制器如今包含了160多种可以向全 球供货的MCU,包括售价低至1美元的MCU。这个价格一 般只有8bit MCU才能达到。
Avatar Semiconductor Co.
Cortex-M3内核简介一:哈佛架构
Cortex-M3 中央内核基于哈佛架构,指令 和数据各使用一条总线(右图中所示)。与 Cortex-M3不同,ARM7 系列处理器使用冯· 诺 依曼(Von Neumann)架构,指令和数据共用 信号总线以及存储器。由于指令和数据可以从 存储器中同时读取,所以 Cortex-M3 处理器 对多个操作并行执行,加快了应用程序的执行 速度。
第2章cortex-M3内核

Cortex-M3 处理器
集成了内核和高级系统外设的分级处理器 Cortex-M3 内核 哈佛体系结构 拥有分支预测功能的三级流水线 Thumb®-2 指令集和传统的 Thumb指令集 带有 硬件除法和 单信号周期乘法的ALU Cortex-M3 处理器 Cortex-M3 内核 可配置的中断控制器 总线矩阵 先进的调试组件 可选择的 MPU & ETM
(irq) 用于通用中断处理
管理 (svc)
中止 (abt) 未定义 (und)
操作系统保护代码
用于支持虚拟内存和/或 存储器保护 支持硬件协处理器的软件 仿真
系统复位和软件中断响应时进入 此模式
在ARM7TDMI没有大用处 未定义指令异常响应时进入此模 式
特权模式
处理器模式 用户 系统 (usr) (sys) 系统 快中断 (sys) 快中断 中断 (fiq) (fiq) (irq) 说明 正常程序工作模式 用于支持操作系统的特权 任务等 备注 不能直接切换到其它模式
未定义指令异常响应时进入此模 式
异常模式
处理器模式 用户 (usr) 系统 快中断 (sys) (fiq) 说明 正常程序工作模式 备注 不能直接切换到其它模式
中断 (irq) 快中断 (fiq) 管理 中断(svc) (irq) 管理 中止 (svc) (abt) 中止 未定义 (abt) (und) 未定义 (und)
非特权模式:
对有些资源的访问受到限制或不允许访问
处理器模式
处理器模式 用户 (usr) 系统 (sys) 快中断 中断 (fiq) 说明 正常程序工作模式 用于支持操作系统的特权 任务等 支持高速数据传输及通道 处理 备注 不能直接切换到其它模式 与用户模式类似,但具有可以直 接切换到其它模式等特权 FIQ异常响应时进入此模式 IRQ异常响应时进入此模式
arm cortex-m3内核与stm32课程思政

Arm Cortex-M3内核与stm32课程思政1. 引言随着计算机科学与技术的发展,嵌入式系统在各个领域的应用日益广泛。
Arm Cortex-M3内核与stm32系列微控制器作为典型的嵌入式系统代表,其在实时控制、通信、汽车电子、工业控制等领域具有重要的应用价值。
对于计算机专业学生来说,深入学习Arm Cortex-M3内核与stm32系列微控制器的知识,不仅能够提高他们的嵌入式系统开发能力,还能为他们的综合素质和思想政治教育提供更为立体和深刻的帮助。
2. Arm Cortex-M3内核与stm32课程的教学资料(1)Arm Cortex-M3内核Arm Cortex-M3内核是Arm公司专门针对嵌入式系统设计的处理器内核,其具有低功耗、高性能和精简指令集的特点。
在Arm Cortex-M3内核的教学过程中,老师可以选择Arm冠方提供的冠方资料,例如《Cortex-M3 Technical Reference Manual》、《Cortex-M3 Devices Generic User Guide》等进行讲解,以便学生们全面了解Arm Cortex-M3内核的技术细节和应用场景。
(2)stm32系列微控制器stm32系列微控制器是由意法半导体公司开发的一款高性能、低功耗的微控制器,其集成了Arm Cortex-M3内核,具有丰富的外设资源和灵活的应用特性。
在stm32系列微控制器的教学过程中,老师可以配合使用意法半导体冠方提供的《stm32参考手册》、《stm32数据手册》等资料,帮助学生们深入了解stm32系列微控制器的硬件架构和软件开发技术。
3. Arm Cortex-M3内核与stm32课程的教学内容(1)Arm Cortex-M3内核的体系架构老师可以介绍Arm Cortex-M3内核的体系结构,包括处理器核、存储体系结构、总线结构、中断控制器等方面的内容。
通过讲解Arm Cortex-M3内核的体系结构,学生们可以系统性地理解嵌入式系统的硬件基础,为后续的软件开发和调试奠定坚实的基础。
arm cortex-m3全可编程soc原理

arm cortex-m3全可编程soc原理如下:
1.架构:Cortex-M3 核心是基于ARMv7-M 架构,这是一个针对
嵌入式应用程序优化的架构。
它包含一个ARM 指令集、一个
ARM 连接至程序的接口以及一些特定于嵌入式应用的扩展。
2.核心功能:Cortex-M3 核心具有高性能、低功耗和低成本的特
点。
它包含一个32 位RISC 处理器,具有一个三级流水线。
核心还包含一个嵌套向量中断控制器,允许高效的异常和中断
处理。
3.可编程性:Cortex-M3 是完全可编程的。
这意味着硬件和软件
都可以通过编程来定制。
ARM 的微控制器工具链(如Keil 或
IAR)可用于编译和调试代码,以适应特定的应用需求。
4.系统集成:SoC 是一种将多个硬件组件集成到一个单一芯片上
的技术。
在Cortex-M3 中,这些组件可能包括内存、通信接口、
ADC、DAC 等。
通过将所有这些组件集成到单个芯片上,可以
降低系统成本、减小体积并提高可靠性。
5.低功耗:Cortex-M3 被设计为低功耗微控制器,适用于电池供
电的应用。
它具有多种低功耗模式,可以在不使用时降低功耗。
6.安全性:Cortex-M3 提供了多种安全特性,如内存保护单元
(MPU)和安全区域(Secure Zone),以保护敏感数据和代码。
ARM Cortex-M3 内核介绍

ARM Cortex-M3 内核介绍内核包含四部分:1.乘法器;2.控制逻辑;3.Thumb 指令译码器;4.内部接口CM3 内部包含元素介绍:1. DAP,调试访问接口,Debug Access Port。
Cortex‐M3 的调试系统基于ARM 最新的CoreSight 架构。
不同于以往的ARM 处理器,内核本身不再含有JTAG 接口。
取而代之的,是CPU 提供称为调试访问接口(DAP)的总线接口。
通过这个总线接口,可以访问芯片的寄存器,也可以访问系统存储器,甚至是在内核运行的时候访问!对此总线接口的使用,是由一个调试端口(DP)设备完成的。
DPs 不属于CM3 内核,但它们是在芯片的内部实现的。
目前可用的DPs 包括SWJ‐DP(既支持传统的JTAG 调试,也支持新的串行线调试协议),另一个SW‐DP 则去掉了对JTAG 的支持。
另外,也可以使用ARM CoreSignt 产品家族的JTAG‐DP 模块。
这下就有 3 个DPs 可以选了,芯片制造商可以从中选择一个,以提供具体的调试接口(通常都是选SWJ‐DP)。
2. ETM 的作用就是记录处理器做的事情并送到外面的调试器。
由于微控制器带有大量的片内存储器,因此不能简单地通过观察外部管脚来确定处理器核是如何运行的。
ETM 对深嵌入处理器内核提供了实时跟踪能力。
它向一个跟踪端口输出处理器执行的信息。
软件调试器允许使用JTAG 接口对ETM 进行配置并以用户易于理解的格式显示捕获到的跟踪信息。
ETM 直接连接到ARM 内核而不是主AMBA 系统总线。
3.NVIC 是Cortex-M3 处理器中一个完整的部分,它可以进行高度配置,为处理器提供出色的中断处理能力。
在NVIC 的标准执行中,它提供了一个非屏蔽中断(NMI)和32 个通用物理中断,这些中断带有8 级的抢占优先权。
NVIC可以通过综合选择配置为1 到240 个物理中断中的任何一个,并带有多达256。
CortexM3技术参考手册

CortexM3技术参考手册CortexM3技术参考手册CortexM3是一种基于ARMv7架构的32位微控制器,由ARM公司开发。
它是一种高效、可编程的微控制器,适用于各种嵌入式应用,如工业控制、汽车电子、智能家居等。
本文将介绍CortexM3的技术参考手册,帮助读者更好地了解该微控制器的功能和使用方法。
一、CortexM3架构CortexM3采用ARMv7架构,支持Thumb和Thumb-2指令集。
它采用32位处理器,具有较高的处理效率和灵活的编程能力。
该微控制器具有以下主要特点:1、处理速度:CortexM3采用ARMv7架构,最高运行速度可达100MHz。
2、存储器:CortexM3内置32KB的Flash存储器,可用于存储程序代码和数据。
此外,它还内置了4KB的SRAM,用于存储临时数据。
3、外设接口:CortexM3具有多种外设接口,包括UART、SPI、I2C、ADC等,可满足各种不同的应用需求。
4、调试接口:CortexM3内置调试接口,方便开发人员对程序进行调试和仿真。
二、CortexM3编程CortexM3的编程主要涉及硬件抽象层(HAL)和驱动程序(Driver)的开发。
其中,HAL提供了一组标准的接口函数,用于访问CortexM3的硬件资源。
驱动程序则是在HAL的基础上开发的,用于实现具体的硬件功能。
三、CortexM3应用实例下面以一个简单的例子来说明如何使用CortexM3实现一个基于UART 的通信接口。
1、硬件连接:将CortexM3的UART接口与另一台设备通过串口连接。
2、软件设置:在CortexM3的HAL中配置UART接口的波特率、数据位、停止位等参数。
3、编写程序:编写一个简单的程序,通过UART接口发送和接收数据。
4、调试与测试:通过调试接口对程序进行调试和测试,确保通信正常。
四、总结本文介绍了CortexM3的技术参考手册,包括其架构、编程和应用实例等。
ARM_CortexM3内核结构

ARM Cortex-M3 内核结构2.1ARM Cortex-M3 处理器简介2、1、1 概述ARM公司成立于上个世纪九十年代初,致力于处理器内核研究,ARM 即 Advanced RISC Machines 的缩写,ARM公司本身不生产芯片,只设计内核,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。
这种运行模式运营的成果受到全球半导公司以及用户的青睐。
目前ARM体系结构的处理器内核有:ARM7TDMI、ARM9TDMI、ARM10TDMI、ARM11以及Cortex等。
2005年ARM推出的ARM Cortex系列内核,分别为:A系列、R系列与M系列,其中A系列就是针对可以运行复杂操作系统(Linux、Windows CE、Symbian 等)的处理器;R系列就是主要针对处理实时性要求较高的处理器(汽车电子、网络、影像系统);M系列又叫微控制器,对开发费用敏感,对性能要求较高的场合。
Cortex-M系列目前的产品有M0、M1、M3,其中M1用在FPGA中。
Cortex-M系列对微控制器与低成本应用提供优化,具有低成本、低功耗与高性能的特点,能够满足微控制器设计师进行创新设计的需求。
其中,ARM Cortex-M3处理器的性能就是ARM7的两倍,而功耗却只有ARM7的1/3,适用于众多高性能、极其低成本需求的嵌入式应用,如微控制器、汽车系统、大型家用电器、网络装置等,ARM Cortex-M3提供了32位微控制器市场前所未有的优势。
Cortex-M3内核,内部的数据路径为32位,寄存器为32位,存储器接口也就是32位。
Cortex-M3采用了哈佛结构,拥有独立的指令总线与数据总线,可以让取指与数据访问分开进行。
Cortex-M3还提供一个可选的MPU,对存储器进行保护,而且在需要的情况下也可以使用外部的cache。
另外在Cortex-M3中, 存储器支持小端模式与大端存储格式。
Cortex-M3内部还附赠了很多调试组件,用于在硬件水平上支持调试操作,如指令断点,数据观察点等。
ARM_Cortex-M3体系结构和优势

MIPS(Million Instructions Per Second)是CPU 处理能力的一个指标,它的字面意思是每秒种执行指令 Cortex-M3内核主要是应用于低成本、小管脚数 的平均条数。MIPS/MHz,也就是系统时钟(CPU的工作 和低功耗的场合,并且具有极高的运算能力和极强的 时钟)为 1M时,平均能够执行的指令数。 中断响应能力。 这里面的 D是什么意思?简单说吧:2个CPU,每个CLK Cortex-M3处理器采用纯Thumb2 指令的执行方式, 都能执行一条指令,这个是相同的,都是“ 1MIPS/MHz ”。 但我们让它门做某个处理运算,一个需要执行 10条指令 使得这个具有32位高性能的ARM内核能够实现 8位和 完成,而另一个因为指令系统中具备专用的处理这个运 16位的代码存储密度。ARM Cortex-M3处理器是使 算的指令,所以只需要5条指令就行了。故第2个CPU的 用最少门数的ARM CPU,核心门数只有33K,在包 性能为“2DMIPS/MHz”。可见是一个比值的含义,是相 含了必要的外设之后的门数也只有 60K,使得封装更 对于某个标准处理器的处理能力比值。可见 DMIPS/MHz 为小型,成本更加低廉。 是一个相对的、综合指标。
嵌套向量中断控制器(NVIC):
NVIC 是 Cortex-M3 处理器中一个完整的部 分,它可以进行高度配置,为处理器提供出色的 中断处理能力。在 NVIC 的标准执行中,它提供 了一个非屏蔽中断(NMI)和 32 个通用物理中 断,这些中断带有 8 级的抢占优先权。NVIC 可 以通过综合选择配置为 1到 240 个物理中断中 的任何一个,并带有多达 256 个优先级。 Cortex-M3 处理器使用一个可以重复定位的 向量表,表中包含了将要执行的函数的地址,可 供具体的中断处理器使用。中断被接受之后,处 理器通过指令总线接口从向量表中获取地址。向 量表复位时指向零,编程控制寄存器可以使向量 表重新定位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.FPB
FPB单元实现硬件断点以及从代码空间到系统空间的修补访问,FPB有8个比较器。
5.DWT
数据观察点和跟踪,调试功能部件。
6.ITM
ITM是一个应用导向(application driven)的跟踪源,支持对应用事件的跟踪和printf类型的调 试。
7.MPU
存储器保护单元(MPU)是用来保护存储器的一个元件。处理器支持标准的ARMv7“受保护的存储器 系统结构”(PMSA)模型。如果希望向处理器提供存储器保护,则可以使用可选的MPU;MPU对访问允许 和存储器属性进行检验。它包含8个区和一个可选的执行默认存储器映射访问属性的背景区。
处理模式和线程模式; ISR的低延迟进入和退出; 可中断-可继续(interruptible-continued)的LDM/STM、PUSH/POP; 支持ARMv6类型BE8/LE; 支持ARMv6非对齐访问。
2.NVIC(嵌套向量中断控制器)
NVIC与处理器内核是紧密耦合的,这样可实现快速、低延迟的异常处理。在Cortex-M微控制器此功 能非常强大。
2.3 处理器操作模式
ARM Cortex-M3支持2个模式和两个特权等级。如图2.4所示,在嵌入式系统应用程序中,程序代码 涉及异常服务程序代码和非异常服务程序代码, 这些代码可以工作在处理器特权级也可以工作在用户级 级, 但有区别。 当处理器处在线程模式下时, 既可以使用特权级, 也可以使用用户级; 另一方面, handler 模式总是特权级的。在复位后,处理器进入线程模式+特权级。
名称 N Z C V
定义 负数或小于标志:1:结果为负数或小于;0 结果为正数或大于 零标志:1:结果为 0;0:结果为非 0 进位/借位标志:1:进位或借位;0 没有进位或借位 溢出标志:1:溢出;0:没有溢出
27 26:25 15:10 24 15:12 8:0
Q IT T ICI ISR
粘着饱和标志:1:已饱和;0:没有饱和 IF-Then 位。它们是 if-Then 指令的执行状态位。 包含 if-Then 模块的指令数目和它们的执行条件 用于指示处理器当前是 ARM 状态还是 Thumb 状态 可中断-可继续的指令位: 如果在执行 LDM 或 STM 操作时产生一次中断, 则 LDM 或 STM 操作暂停,该位来保存该操作中下一个寄存器操作数的编号,在中断响 应之后,处理器返回由该位指向的寄存器并恢复操作。 占先异常的编号
表 2.3 CONTROL 寄存器
位 堆栈指针选择 CONTROL[1] 0:选择主堆栈指针 MSP 1:选择进程堆栈指针 PSP CONTROL[0] 0:特权级 1:用户级
功能
CONTROL[0]:异常情况下,处理器总是处于特权模式,CONTROL[0]位总是为 0;在线程模式情况下 (非异常情况),处理器可以工作在特权级也可工作在用户级,该位可为 0 或 1。特权级下所有的资源 都可以访问,而用户级下被限制的资源不能访问,比如 MPU 被限制的资源。 CONTROL[1]:为 0 时,只使用 MSP,此时用户程序和异常共享同一个堆栈,处理器复位后默认的也 是该模式。为 1 时,用户应用程序使用进程堆栈 PSP,而中断任然得使用主堆栈 MSP。这种双堆栈机制, 特别适合在带有 OS(操作系统)的环境下使用,只要 OS 内核在特权级下执行,而用户应用程序在用户 模式下执行,就可很好的将代码隔离互不影响。
寄存 器名 APSR IPSR EPSR
位 31 N 30 Z 29 C 28 V 27 Q 中断编号 ICI/IT T ICI/IT 26:25 24 23:20 19:16 15:10 9 8 7 6 5 4:0
xPSR 寄存器的各位的功能如表 2.2:
表 2.2 xPSR 寄存器各位功能
位 31 30 29 28
3.总线矩阵
总线矩阵用来将处理器和调试接口与外部总线相连。 处理器包含4 个总线接口: ICode 存储器接口:从Code 存储器空间(0x0000000–0x1FFFFFFF)的取指都在这条32 位 AHBLite 总线上执行。 DCode 存储器接口:对Code 存储器空间(0x0000000–0x1FFFFFFF)进行数据和调试访问都 在这条32 位AHBLite 总线上执行。 系统接口: 对系统空间 (0x20000000–0xDFFFFFFF) 进行取指、 数据和调试访问都在这条32 位 AHBLite 总线上执行。 外部专用外设总线(PPB):对外部PPB 空间(0xE0040000–0xE00FFFFF)进行数据和调试访 问都在这条32 位APB 总线(AMBA v2.0)上执行。跟踪端口接口单元(TPIU)和厂商特定的 外围器件都在这条总线上。 注:处理器包含一条内部专用外设总线,用来访问嵌套向量中断控制器(NVIC)、数据观察点和 触发(DWT)、Flash 修补和断点(FPB),以及存储器保护单元(MPU)。
图 2.2 寄存器组织图
2.2.1 通用寄存器 R0-R15
R0~R12 寄存器:是真正意义上的通用。在处理器运行过程中,作数据的寄存。 R13 为堆栈指针寄存器:堆栈指针是用于访问堆栈,也即系统的 RAM 区。Cortex_M3 中采用了两个 堆栈指针:主堆栈指针(MSP)和进程堆栈指针(PSP),R13 在任何时刻只能是其中一个,默认情况为 MSP,可以通过控制寄存器(CONTORL)来改变。Cortex_M3 中堆栈方向是向低地址方向增长,为满堆栈 机制。堆栈操作是通过 PUSH 和 POP 来完成操作的。 例如 MSP 当前指针指向:0x2000_000C;R0=0x00000000。 执行:PUSH R0 此时 MSP 指向:0x2000_0008 执行示意如图 2.3 所示。
RAM 已使用 已使用 0x2000_000C MSP 上次压入的数据 未用 未用 0x2000_0008 MSP
RAM 使用 已使用 已使用 向 下 生 长
0x00000000
未用
2.3 堆栈操作示意图
R14 程序连接寄存器(LR):在执行分支(B)和链接(BL)指令或带有交换分支(BX)和链接 指令(BLX)时,PC 的返回地址自动保存进 LR。比如在子程序调用时用保存子程序的返回地址。LR 也用于异常返回,但是在这里保存的是返回后的状态,不是返回的地址,异常返回是通过硬件自动出栈 弹出之前压入的 PC 完成的。 R15 程序计数器(PC):是程序运行的基础,具有自加的功能。该寄存器的位 0 始终为 0,因此, 指令始终与字或半字边界对齐。
2.2.2 特殊功能寄存器
特殊功能寄存器分为程序状态寄存器、中断屏蔽寄存器和控制寄存器三类。 xPSR 程序状态寄存器:系统级的处理器状态可分为 3 类,应用状态寄存器(APSR)、中断状态寄 存器(IPSR)、执行状态寄存器(EPSR),可组合起来构成一个 32 位的寄存器,统称 xPSR。
表 2.1 xPSR 寄存器
中断屏蔽寄存器:分为三组,分别是 PRIMASK、FAULTMASK、BASEPRI。 PRIMASK 为片上外设总中断开关,该寄存器只有位 0 有效,当该位为 0 是响应所有外设中断;当该 位为 1 时屏蔽所有片上外设中断。 FAULTMASK 寄存器管理系统错误的总开关,该寄存器中有位 0 有效,当该位为 0 时,响应所有的异 常;为 1 屏蔽所有的异常。 BASEPRI 寄存器用来屏蔽优先级等于和小于某一个中断数值的寄存器。 控制寄存器:CONTROL 有两个作用,其一用于定义处理器特权级别,其二用于选择堆栈指针,如表 3.3 所示。
图 2.1 Cortex-M3 内核方框图
1.处理器内核
Cortex-M3处理器内核采用ARMv7-M架构,其主要特性如下: Thumb-2指令集架构(ISA)的子集,包含所有基本的16位和32位Thumb-2指令; 哈佛处理器架构,在加载/存储数据的同时能够执行指令取指; 带分支预测的三级流水线; 32位单周期乘法; 硬件除法; Thumb状态和调试状态;
NVIC
SLEEPING SLEEPDEEP SysTick
睡眠 调试
专用外设总线(内部) SW-DP JTAG-DP AHB-AP 总线矩阵
I-code总线 总线矩阵
D-code总线
系统总线 系统总线(AHB)
静态 RAM
外部 RAM 控制器
外部 设备
AHB to APB 总线
外设总线 外部 RAM Flash 存 储器 SRAM 可 选配 I/O UART PWM Timer
2.2 内核寄存器组织
如图 2.2 所示,Cortex_M3 内核寄存器分为 16 个通用寄存器 R0~R15 和 7 个特殊功能寄存器。
R0 低 寄 存 器 通 用 寄 存 器 R1 R2 R3 R4 R5 R6 R7 R8 R9 高 寄 存 器 R10 R11 R12 R13(SP) R14(LR) R15(PC) 特 殊 功 能 寄 存 器 状态寄存器 中断屏蔽 寄存器 控制寄存器 xPSR PRIMASK FAULTMASK BASEPRI CONTROL MSP PSP
2.1.2 内核结构组成及功能描述
Cortex-M3微控制器内核包括处理核心和许多的组件,目的是用于系统管理和调试支持。如图2.1为 Cortex-M3内核方框图。
NMI 中断号[239:0]
中断
Cortex-M3 CM3核
指令 MPU 专用外 FPB DWT ITM 设总线 (外部) APB ROM表 数据 触发 TPIU ETM
ARM Cortex-M3 内核结构
2.1 ARM Cortex-M3 处理器简介 2.1.1 概述
ARM公司成立于上个世纪九十年代初,致力于处理器内核研究, ARM 即 Advanced RISC Machines 的缩写,ARM公司本身不生产芯片,只设计内核,靠转让设计许可,由合作伙伴公司来生产各具特色的 芯片。 这种运行模式运营的成果受到全球半导公司以及用户的青睐。 目前ARM体系结构的处理器内核有: ARM7TDMI、ARM9TDMI、ARM10TDMI、ARM11以及Cortex等。2005年ARM推出的ARM Cortex系列内核,分别 为:A系列、R系列和M系列,其中A系列是针对可以运行复杂操作系统( Linux、Windows CE、Symbian 等)的处理器;R系列是主要针对处理实时性要求较高的处理器(汽车电子、网络、影像系统);M系列 又叫微控制器,对开发费用敏感,对性能要求较高的场合。 Cortex-M系列目前的产品有M0、M1、M3,其中M1用在FPGA中。Cortex-M系列对微控制器和低成本应 用提供优化,具有低成本、低功耗和高性能的特点,能够满足微控制器设计师进行创新设计的需求。其 中,ARM Cortex-M3处理器的性能是ARM7的两倍,而功耗却只有ARM7的1/3,适用于众多高性能、极其低 成本需求的嵌入式应用,如微控制器、汽车系统、大型家用电器、网络装置等,ARM Cortex-M3提供了 32位微控制器市场前所未有的优势。 Cortex-M3内核,内部的数据路径为32位,寄存器为32位,存储器接口也是32位。Cortex-M3采用了 哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问分开进行。Cortex-M3还提供一个 可选的MPU,对存储器进行保护,而且在需要的情况下也可以使用外部的cache。另外在Cortex-M3中, 存储器支持小端模式和大端存储格式。Cortex-M3内部还附赠了很多调试组件,用于在硬件水平上支持 调试操作,如指令断点,数据观察点等。另外,为支持更高级的调试,还有其它可选组件,包括指令跟 踪和多种类型的调试接口。