ARMCortex-M3MCU介绍_百度文库.
第2章 ARM-cortex-M3内核1
举例
如果发生了异常11(SVC),则NVIC 会计算出偏移 移量是11x4=0x2C,然后从那里取出服务程序的入口 地址并跳入。 0 号异常的功能则是个另类,它并不是什么入口地址, 而是给出了复位后MSP 的初值。
程序状态寄存器(PSRs 或xPSR)
程序状态寄存器在其内部又被分为三个子状态寄存器: 应用程序 PSR(APSR) 中断号 PSR(IPSR) 执行 PSR(EPSR) 这3 个寄存器即可以单独访问,也可以组合访问(2 个组 合,3 个组合都可以),当使用三合一的方式访问时,应 使用名字“xPSR”或者“PSRs”。
可嵌套中断支持
可嵌套中断支持的作用范围很广,覆盖了所有的外部中断 和绝大多数系统异常。 外在表现是:这些异常都可以被赋予不同的优先级,当前 优先级被存储在xPSR 的专用字段中。当一个异常发生时, 硬件会自动比较该异常的优先级是否比当前的异常优先级 更高。
如果发现来了更高优先级的异常,处理器就பைடு நூலகம்中断当前的 中断服务程序,而服务新来的异常,这个过程立即抢占。
3.3 操作模式和特权级别
Cortex‐M3 处理器支持两种处理器的操作模式,支持两 级特权操作。
操作模式
两种操作模式分别为:处理器模式(handler mode)和线程 模式(thread mode)。 引入两个模式的目的,是用于和区别异常服务例程的代码 和普通应用程序的代码。
特权极别
特权的分级——特权级和用户级。这可以提供一种存储器 访问的保护机制,使得普通的用户程序代码不能意外地, 甚至是恶意地执行涉及到要害的操作。 处理器支持两种特权级,这也是系统一个基本的安全模型。
ARM Cortex
ARM Cortex—M3处理器ARM Cortex—M3处理器为性能高。
低成本的平台提供一个满足小存储器要求的方案。
简化管脚数。
以及低功耗三方面要求的内核,与此同时,它还提供出色的计算机性能和优越的系统响应能力;特性:紧凑的内核1.Thumb-2的指令集。
在通常与8位和16位设备相关的存储器量中,特别是在微控制器几应用中的几千字节存储量中,提供ARM内核所期望的高性能;2.高速的应用通过Harvard结构执行,以独立的指令和数据中线为特证,3.优越的中断处理能力,通过执行寄存器操作来实现的,这些寄存器操作在处理硬件中断是使用4.存储器保护单元(MPU)为复杂的应用提高特权的操作模式,5.从ARM7处理器系列中移植出来,已获得更好的性能和电源效率。
6.功能齐全的解决方案:—串行线JTAG调试端口(AWJ-DP)__Flash 修补和端口(FBP)单元,用于实现断电操作—数据观察点和触发(DWT)单元,用于执行观察点、触发源和系统性能分析(数据跟踪源)—仪表跟踪宏单元(ITM),用于支持printf 型调试(调试消息)—跟踪端口接口单元(TPIU)用作跟踪端口分析仪的桥接1.2 处理器的组件这节内容描述了Cortex-M3 处理器的组件,系统的主要模块包括:1 处理器内核2 NVIC3 总线矩阵4FPB5 DWT6 ITM7 MPU8 ETM9 TPIU1.串行线JTAG调试端口:测试访问端口和边界扫描结构标准.主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。
2.闪存地址重载及断点单元(FPB)硬件断点支持。
产生一个断点事件,从而使处理器进入调试模式3.数据观察点与跟踪(DWT)它包含比较器,可以配置成在发生比较匹配时,产生一个观察点调试事件,并且用它来调用调试模式;ETM 触发,可以触发ETM 发出一个数据包,并汇入指令跟踪数据流中。
4.指令跟踪宏单元(ITM)ITM 可以产生时间戳数据包并插入到跟踪数据流中,用于帮助调试器求出各事件的发生时间。
01-第一章Cortex-M3处理器简介 共25页
1.2 Cortex-M3 处理器基本结构
• 处理器核Cortex-M3 • NVIC • Bus Matrix • FPB(Flash Patch and Breakpoint) • DWT • ITM • MPU • ETM • TPIU • SW/SWJ-DP
Cortex-M3核的主要特点
1.3.3 STM32 系列MCU 的优点
• 性能出众而且功能创新的片上外设:STM32 处理 器片上外围的优势来源于双APB 总线结构,其中 有一个高速 APB(速度可达CPU 的运行频率), 连接到该总线上的外设能以更高的速度运行。针 对 MCU 应用中最常见的电机控制,STM32 对片 上外围设备进行一些功能创新。
• 6 个可独立配置的指令比较器,用于转换从 代码空间到系统空间的指令预取,或执行 硬件断点;
• 2 个常量比较器用于转换从代码空间到系统 空间的常量访问。
数据观测与跟踪单元(Data Watchpoint and Trace、DWT)
• DWT 有 4 个比较器可配置为硬件断点、 ETM 触发器、PC 采样事件触发器或数据 地址采样触发器;
• 高度的集成整合:STM32 处理器最大程度地实现 集成,尽可能地减少对外部器件的要求。
• 易于开发,可使产品快速进入市场。
1.3.4 STM32 处理器开发工具
谢谢!
• 硬件跟踪:DWT 产生信息包,由ITM 向外发送;
• 时间戳:ITM 可产生与所发送信息包相关的时间
戳包,并向外发送。
存储器保护单元(Memory Protection Unit,MPU)
• MPU 提供以下支持: • 存储保护;保护区域重叠; • 访问允许控制;向系统传递存储器属性。
ARM Cortex-M3处理器简介
ARM 白皮书
——ARM Cortex-M3 处理器简介 Shyam Sadasivan October 2006
广州周立功单片机发展有限公司 地址:广州市天河北路 689 号光大银行大厦 15 楼 F1
ARM 白皮书
目录
目录
第 1 章 简介 ....................................................................................................................................1 1.1 通过提高效率来提高性能................................................................................................1 1.2 快速有效的应用程序开发源于简易的使用方法 ............................................................1 1.3 针对敏感市场降低成本和功耗........................................................................................1 1.4 集成的调试和跟踪功能推进上市的步伐........................................................................2 1.5 从ARM7TM升级为Cortex-M3 可获取更佳的性能和功效 ..............................................2
第 5 章 针对无线网络实现了更低的功耗...................................................................................15 5.1 时钟门控和内置睡眠模式可以降低功耗......................................................................15 5.2 通过灵活的工作方式来增加处于睡眠模式的时间 ......................................................15 5.3 真正实现省电..................................................................................................................16
cortex-m3
微控制器/MCU]选择内核,选ARM7还是Cortex-M3?内核, 选择要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。
如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。
1.ARM实现方法ARM Cortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。
从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。
根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。
ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。
在成本和功耗方面,Cortex-M3具有相当好的性能,ARM公司认为它特别适用于汽车和无线通信领域。
和所有的ARM内核一样,ARM公司将内该设计授权给各个制造商来开发具体的芯片。
迄今为止,已经有多家芯片制造商开始生产基于Cortex-M3内核的微控制器。
ARM7TDMI(包括ARM7TDMIS)系列的ARM内核也是面向同一类市场的。
这类内核已经存在了十多年之久,并推动了ARM成为处理器内核领域的主导者。
众多的制造商(据ARM宣称,多达16家)出售基于ARM7系列的处理器以及其他配套的系统软件、开发和调试工具。
在许多方面,ARM7TDMI都可以称得上是嵌入式领域的实干家。
2.两者差异除了使用哈佛结构, Cortex-M3 还具有其他显著的优点:具有更小的基础内核,价格更低,速度更快。
与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。
Cortex-M3 还集成了睡眠模式和可选的完整的八区域存储器保护单元。
它采用 THUMB-2指令集,最大限度降低了汇编器使用率。
Cortex-M3微控制器概述(共41张)
嵌入式操作系统支持(zhīchí)
第38页,共41页。
使用GNU工具链开始(kāishǐ)Cortex-M3开发
第39页,共41页。
KEIL RealView Microcontroller Development Kit(RVMDK)
RVMDK的前身就是曾一度在8051开发(kāifā)业界享有盛誉的KEIL套件。RVMDK包含了很 丰盛的组件:
uVision 集成开发环境 调试器 模拟器 由ARM提供的RealView工具链
C/C++编译器
汇编器
连接器
RTX实时内核 为各单片机而设的详细启动代码(包含源代码) 各种Flash的编程算法
程序示例
第40页,共41页。
在RVMDK中附带了很多示例程序,包括Luminary Micro的 Stellaris系列的单片机产品,也包括了ST的STM32系列的单片机产品。 这些示例都使用了厂家提供的驱动程序库(固件库)。使用固件库可以 免去写代码操作(cāozuò)外设寄存器的任务。很容易通过修改示例程序来 开发自己的应用程序,也可以自己从头设计工程,再摘抄一部分示例程 序的代码。
第29页,共41页。
低功耗与高能效
首先,在节能模式上,它提供了睡眠模式和深度睡眠模式。芯 片以及整个系统在设计时通过与内核的节能模式相呼应,就可 以根据应用的要求,在空闲时降低功耗。第二,它精练的设计 使得门数很低,并且在工作状态下电路的活动更少,所以CM3 自己也是“身先士卒”地以身作则(yǐ shēn zuò zé)了。而且,由于 CM3的程序代码密度高,程序容量也可以变得更少;同时,再 加上它强大的性能减少了程序执行时间,使得系统能以最快的 速度回到睡眠中,以削低对能源的用量。综上所述,CortexM3的能效要高于大多的8位或16位单片机。
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),以保护敏感数据和代码。
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的技术参考手册,包括其架构、编程和应用实例等。
ARMCortex-M3权威指南-基础(1)
指令和存储总线:有两条代码存储区总线负责对代码存储区的访问,分别是 I-Code 总线和 D-Code 总线。前者用于取指,后者用于查 表等操作,它们按最佳执行速度进行优化。 系统总线:用于访问内存和外设,覆盖的区域包括 SRAM,片上外设,片外 RAM,片外扩展设备,以及系统级存储区的部分空间。 私有外设总线:负责一部分私有外设的访问,主要就是访问调试组件。它们也在系统级存储区。
2. CONTROL[0]:仅当在特权级下操作时才允许写该位。一旦进入了用户级,唯一返回特权级的途径,就是触发一个(软)中断,再由 服务例程改写该位。
操作模式和特权级别
操作模式:处理者模式(handler mode)和线程模式(thread mode)。引入两个模式的本意,是用于区别普通应用程序的代码和异常服 务例程的代码——包括中断服务例程的代码。 特权分级:特权级和用户级。这可以提供一种存储器访问的保护机制,使得普通的用户程序代码不能意外地,甚至是恶意地执行涉及 到要害的操作。处理器支持两种特权级,这也是一个基本的安全模型。
特权级和用户级区别:在 CM3 运行主应用程序时(线程模式),既可以使用特权级,也可以使用用户级;但是异常服务例程必须在特 权级下执行。复位后,处理器默认进入线程模式,特权极访问。在特权级下,程序可以访问所有范围的存储器并且可以执行所有指 令。
特权级和用户级切换:在特权级下的程序可以为所欲为,但也可能会把自己给玩进去——切换到用户级。一旦进入用户级,再想回来 就得走“法律程序”了——用户级的程序不能简简单单地试图改写 CONTROL 寄存器就回到特权级,它必须先“申诉”:执行一条系统调用 指令(SVC)。这会触发 SVC 异常,然后由异常服务例程(通常是操作系统的一部分)接管,如果批准了进入,则异常服务例程修改 CONTROL 寄存器,才能在用户级的线程模式下重新进入特权级。事实上,从用户级到特权级的唯一途径就是异常:如果在程序执行 过程中触发了一个异常,处理器总是先切换入特权级, 并且在异常服务例程执行完毕退出时,返回先前的状态。 引入特权级和用户级目的:能够在硬件水平上限制某些不受信任的或者还没有调试好的程序,不让它们随便地配置涉及要害的寄存 器,因而系统的可靠性得到了提高。
m3 芯片
m3 芯片M3芯片是一种低功耗、高性能的嵌入式微控制器芯片,由安华高(ARM)公司推出。
它主要应用于物联网、智能家居、嵌入式系统等领域,具有较低的功耗、高度集成和强大的计算能力。
以下是关于M3芯片的1000字介绍。
一、基本介绍M3芯片是ARM Cortex-M系列的一员,是32位精简指令集(RISC)微控制器芯片。
它采用了哈佛结构、五级流水线和深度睡眠模式等先进的技术,具有较低的功耗和高度的灵活性。
M3芯片主要用于嵌入式系统,通过各种外围设备和接口,可以实现与外界的连接和数据交换,具有广泛的应用前景。
二、主要特点1. 低功耗:M3芯片采用了多种节能技术,如静态功耗管理和动态功耗管理等,能够将功耗降到最低限度,使得电池寿命得到极大延长。
2. 高性能:M3芯片采用了五级流水线技术和多级缓存,可提供高性能的计算能力,并能在高频率下稳定运行。
3. 强大的计算能力:M3芯片的运算速度非常快,可以实现复杂的算法和运算。
4. 强大的外围资源:M3芯片具有丰富的外围资源和接口,如通用定时器、外部中断、串口通信、LCD显控制器等,可满足各种应用的需求。
5. 低成本:M3芯片在设计和生产上具有较低的成本,能够降低整个系统的开发和生产成本。
三、应用领域M3芯片的应用领域非常广泛,主要包括物联网、智能家居、嵌入式系统等。
1. 物联网:随着物联网的快速发展,越来越多的设备需要连接到互联网。
M3芯片具有低功耗和高度集成的特点,能够满足物联网设备的需求。
它可以通过各种通信接口与互联网进行数据交换,实现智能化控制和管理。
2. 智能家居:M3芯片具有丰富的外围资源和接口,可以连接各种传感器、执行器和显示器等设备,实现智能家居的各种功能,如自动化控制、环境监测等。
3. 嵌入式系统:M3芯片具有高性能和低功耗的特点,适用于各种嵌入式系统,如工业控制、智能设备、医疗器械等。
它可以通过各种外围资源和接口与其他设备进行通信和数据交换,实现系统的各种功能。
ARM Cortex-M3 MCU介绍
附:Stellaris 32位ARM Cortex(TM)-M3 MCU概览:TI Stellaris基于实现了革命性突破的ARM Cortex(TM)-M3技术之上,是业界领先的高可靠性实时单片机(MCU) 产品系列。
获奖的Stellaris 32位MCU 将先进灵活的混合信号片上系统集成优势同无与伦比的实时多任务功能进行了完美结合。
功能强大、编程便捷的低成本Stellaris MCU现在可轻松实现此前使用原有MCU 所无法实现的复杂应用。
Stellaris 系列拥有140多种产品,可提供业界最广泛的精确兼容型MCU 供选择。
Stellaris 系列面向需要高级控制处理与连接功能的低成本应用,如运动控制、监控(远程监控、消防/安防监控等)、HVAC与楼宇控制、电能监控与转换、网络设备与交换机、工厂自动化、电子销售点设备、测量测试设备、医疗仪表以及游戏设备等。
除了经配置后用于通用实时系统的MCU 之外,Stellaris 系列还可针对高级运动控制与能源转换应用、实时网络与实时网络互连以及包括互连运动控制与硬实时联网等在内的上述各种应用组合相应提供功能独特的解决方案。
欢迎体验单片机的未来技术!为什么选择Cortex-M3?Cortex-M3是ARM V7 指令集架构系列内核的MCU 版本:实现单周期闪存应用最优化;准确快速地中断处理:始终不超过12 个周期,使用末尾连锁(tail-chaining)技术时则仅为6个周期;具有低功耗时钟门控(Clock Gating)功能的3种睡眠模式;单周期乘法指令以及硬件除法;原子位操作;ARM Thumb2混合16位/32位指令集;1.25 DMIPS/MHz—优于ARM7 与ARM9;包括数据观察点与闪存补丁(flash patching)等在内的额外故障调试支持。
功能超越ARM7,可充分满足单片机市场的需求:所需的闪存(代码空间) 约为ARM7应用的一半;MCU控制应用的速度快2至4倍;不再需要汇编代码!为什么选择Stellaris 系列?Stellaris系列专为高要求的单片机应用而精心设计,是进入该行业最强大设计领域的重要工具,其代码兼容性非常广泛。
第二章ARM_Cortex-M3内核结构
第二章ARM Cortex-M3内核结构教学目标通过本章的学习,要理解ARM Cortex-M3内核结构,结合MCS-51单片机,分析其优缺点;掌握ARM Cortex-M3内核寄存器组织、处理器运行模式、存储器映象、异常及其操作;了解存储器保护单元及应用;了解ARM Cortex-M3调试组件的工作原理及应用。
本章是ARM Cortex-M3微控制器体系结构分析,内容涉及内核结构、CPU寄存器组织、存储器映射、异常形为及操作,在学习过程中与8位单片机(MCS-51单片机、PIC系列单片机等)结合分析,以期达到良好学习效果。
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 处理器_fromARM
Cortex-M3 处理器ARM Cortex™- M3 处理器是行业领先的 32 位处理器,适用于具有高确定性的实时应用,已专门开发为允许合作伙伴为范围广泛的设备(包括微控制器、汽车车体系统、工业控制系统以及无线网络和传感器)开发高性能低成本的平台。
该处理器提供出色的计算性能和对事件的卓越系统响应,同时可以应对低动态和静态功率限制的挑战。
该处理器是高度可配置的,可以支持范围广泛的实现(从那些需要内存保护和强大跟踪技术的实现到那些需要极小面积的对成本非常敏感的设备)。
为什么选择 Cortex-M3提供更高的性能和更丰富的功能于 2004 年引进、最近通过新技术进行了更新并更新了可配置性的 Cortex-M3,是专门针对微控制器应用开发的主流 ARM 处理器。
性能和能效具有高性能和低动态能耗,Cortex-M3 处理器提供领先的功效:在 90nmG 基础上为 12.5 DMIPS/mW。
将集成的睡眠模式与可选的状态保留功能相结合,Cortex-M3 处理器确保对于同时需要低能耗和出色性能的应用不存在折衷。
全功能该处理器执行Thumb®-2 指令集以获得最佳性能和代码大小,包括硬件除法、单周期乘法和位字段操作。
Cortex-M3 NVIC 在设计时是高度可配置的,最多可提供 240 个具有单独优先级、动态重设优先级功能和集成系统时钟的系统中断。
丰富的连接功能和性能的组合使基于 Cortex-M3 的设备可以有效处理多个 I/O 通道和协议标准,如USB OTG (On-The-Go)。
Cortex-M3 功能Cortex-M3 功能体系结构ARMv7-M(哈佛)ISA 支持Thumb® / Thumb-2管道 3 阶段 + 分支预测Dhrystone 1.25 DMIPS/MHz内存保护带有子区域和后台区域的可选 8 区域 MPU 中断不可屏蔽的中断 (NMI) + 1 到 240 个物理中断中断延迟12 个周期中断间延迟 6 个周期中断优先级8 到 256 个优先级唤醒中断控制器最多 240 个唤醒中断睡眠模式集成的 WFI 和 WFE 指令和“退出时睡眠”功能。
ARM CORTEX-M3 内核架构理解归纳
在我看来,Cotex-M3内核的主要包括:嵌套向量中断控制器(NVIC),取值单元,指令译码器,算数逻辑单元(ALU),寄存器组,存储器映射(4GB统一编址各区域功能的划分与界定),对于开发者而言,其实主要关注的主要分为三大块:1、寄存器组2、地址功能划分映射3、中断机制(NVIC)。
1)寄存器组Cortex-M3内核共有19组32位寄存器:R0——R12(通用寄存器);低寄存器组R0——R732位Thumb-2指令与16位Thumb指令均可访问高寄存器组R8——R1232位Thumb-2指令与极少数16位Thumb指令可访问R13(堆栈指针寄存器);主堆栈寄存器MSP(main-SP)/进程堆栈寄存器PSP(Process-SP)同一时间只能使用其中一个。
MSP供操作系统内核及中断(异常)处理子程序使用,PSP只供用户的应用程序代码使用(详细使用详见3、嵌套向量中断控制器(NVIC)的总结)。
堆栈指针是4字节对齐的,故最低两位永远是00;R14(连接寄存器)用于存储程序返回的地址及PC的返回地址;R15(程序寄存器)指向当前程序执行的地址;2)特殊功能寄存器组xPSR(程序状态字寄存器组),32位,可分为三个寄存器分别进行访问,也可以PSR或xPSR 的名字直接组合访问。
应用程序PSR(APSR)中断号PSR(IPSR)执行PSR(EPSR)中断屏蔽寄存器PRIMASK 单一比特位,置位后,除NMI与硬fault外,其他中断都不响应;FAULTMASK 单一比特位,置位后,除NMI外,其他中断都不响应;BASEPRI 共有9位,中断号小于等于该寄存器设置值的中断都不响应;控制寄存器controlControl[0] 0决定特权级线程模式;1用户级线程模式;Control[1] 0主堆栈;1进程堆栈;控制寄存器只能在特权级模式下改写,handler模式永远是特权级,且只允许使用主堆栈MSP 复位后,处理器进入特权级+线程模式下;2、地址功能划分映射Cortex-m3是一个32位处理器,其地址总线、数据总线都是32位的,故可在4G的地址范围上资源寻址。
第2章 Cortex-M3处理器-1
周期1 周期2 周期3 周期4 周期5 周期6
处理器执行一条 取指 译码 执行 指令的三个阶段
取指 译码 执行 取指 译码 执行 取指 译码 执行
3 在第3个周期,PC指向指令3,此时指令 1进入三级流水线的执行阶段,指令2进入译
码阶段,取出指令3。
21/47
三级流水线结构的指令执行顺序
9/47
(4)32位单周期乘法,硬件除法指令 (5)具有分组的堆栈指针 ( 6 ) 处 理 模 式 ( handler mode ) 和 线 程 模 式 ( thread mode) (7)Thumb状态和调试状态 (8)功耗低 (9)具有门数目少 (价格低)、调试成本低 (10)支持非对齐访问
10/47
寄存器(LR)、程序计数器(PC)、程序状态寄存器 (xPSR)、两个分组的SP寄存器。 6. 内存保护单元(MPU,可选) 7. 低成本调试解决方案 8. ROM表
16/47
三、总线结构
基于哈佛体系结构,有专门的数据总线和指令总线,使得数 据访问和指令存取可以并行进行,效率大大提高。
AMBA片上总线包括: (1)AHB(Advanced High performance Bus)系统总线:主 要用于高性能模块(如CPU、DMA等)之间的连接。 (2)APB(Advanced Peripheral Bus)外设总线:主要用于 低带宽的外设之间的连接。
AHB-AP
Cortex-M3处理器的结构
总线 矩阵
I-code 总线 D-code 总线
系统总线
11/47
2. 嵌 套 向 量 中 断 控 制 器 ( Nested Vector Interrupt Controller,NVIC)
第二章ARM_Cortex-M3内核结构
ARMCortex-M3支持2个模式和两个特权等级。如图2.4所示,在嵌入式系统应用程序中,程序代码涉及异常服务程序代码和非异常服务程序代码,这些代码可以工作在处理器特权级也可以工作在用户级级,但有区别。当处理器处在线程模式下时,既可以使用特权级,也可以使用用户级;另一方面,handler模式总是特权级的。在复位后,处理器进入线程模式+特权级。
R15程序计数器(PC):是程序运行的基础,具有自加的功能。该寄存器的位0始终为0,因此,指令始终与字或半字边界对齐。
2.2.2
特殊功能寄存器分为程序状态寄存器、中断屏蔽寄存器和控制寄存器三类。
xPSR程序状态寄存器:系统级的处理器状态可分为3类,应用状态寄存器(APSR)、中断状态寄存器(IPSR)、执行状态寄存器(EPSR),可组合起来构成一个32位的寄存器,统称xPSR。
注:处理器包含一条内部专用外设总线,用来访问嵌套向量中断控制器(NVIC)、数据观察点和触发(DWT)、Flash修补和断点(FPB),以及存储器保护单元(MPU)。
4.
FPB单元实现硬件断点以及从代码空间到系统空间的修补访问,FPB有8个比较器。
5.
数据观察点和跟踪,调试功能部件。
6.
ITM是一个应用导向(application driven)的跟踪源,支持对应用事件的跟踪和printf类型的调试。
CONTROL[1]:为0时,只使用MSP,此时用户程序和异常共享同一个堆栈,处理器复位后默认的也是该模式。为1时,用户应用程序使用进程堆栈PSP,而中断任然得使用主堆栈MSP。这种双堆栈机制,特别适合在带有OS(操作系统)的环境下使用,只要OS内核在特权级下执行,而用户应用程序在用户模式下执行,就可很好的将代码隔离互不影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附:Stellaris 32位ARM Cortex(TM-M3 MCU
概览:
TI Stellaris基于实现了革命性突破的ARM Cortex(TM-M3技术之上,是业界领先的高可靠性实时单片机(MCU 产品系列。
获奖的Stellaris 32位MCU 将先进灵活的混合信号片上系统集成优势同无与伦比的实时多任务功能进行了完美结合。
功能强大、编程便捷的低成本Stellaris MCU现在可轻松实现此前使用原有MCU 所无法实现的复杂应用。
Stellaris 系列拥有 140多种产品,可提供业界最广泛的精确兼容型MCU 供选择。
Stellaris 系列面向需要高级控制处理与连接功能的低成本应用,如运动控制、监控(远程监控、消防/安防监控等、HVAC与楼宇控制、电能监控与转换、网络设备与交换机、工厂自动化、电子销售点设备、测量测试设备、医疗仪表以及游戏设备等。
除了经配置后用于通用实时系统的MCU 之外,Stellaris 系列还可针对高级运动控制与能源转换应用、实时网络与实时网络互连以及包括互连运动控制与硬实时联网等在内的上述各种应用组合相应提供功能独特的解决方案。
欢迎体验单片机的未来技术!
为什么选择 Cortex-M3?
Cortex-M3是ARM V7 指令集架构系列内核的MCU 版本:
实现单周期闪存应用最优化;
准确快速地中断处理:始终不超过12 个周期,使用末尾连锁(tail-chaining技术时则仅为 6
个周期;
具有低功耗时钟门控(Clock Gating功能的3种睡眠模式;
单周期乘法指令以及硬件除法;
原子位操作;
ARM Thumb2混合 16位/32位指令集;
1.25 DMIPS/MHz—优于ARM7 与ARM9;
包括数据观察点与闪存补丁(flash patching等在内的额外故障调试支持。
功能超越ARM7,可充分满足单片机市场的需求:
所需的闪存 (代码空间约为ARM7应用的一半;
MCU控制应用的速度快2至4倍;
不再需要汇编代码!
为什么选择Stellaris 系列?
Stellaris系列专为高要求的单片机应用而精心设计,是进入该行业最强大设计领域的重要工具,其代码兼容性非常广泛。
卓越的高集成度可节约系统成本;
超过140种Stellaris产品系列可供选择;
真正的MCU GPIO—都能生成中断、支持5V电压,并具有可编程的驱动功能及转换率控制;
高级通信能力,其中包括10/100以太网MAC/PHY、USB与USB OTG以及CAN控制器;
软硬件高级电机控制支持;
模拟比较器与ADC 功能都能提供可平衡软硬件性能的片上系统选项;
免专利费的StellarisWare(TM 软件可显著简化开发工作。
达盛科技赠送的ARM Cortex(TM-M3开发板系列:
型号参数
EXP-LM3S615支持最大主频为50 MHz的ARM Cortex-M3内核,32 KByte FLASH,8 KByte SRAM,LQFP-48封装。
集成正交编码器、ADC、带死区PWM、模拟比较器、
UART、SSI、通用定时器,I2C、CCP等外设。
主要用于步进电机的控制。
EXP-LM3S2948/2965支持最大主频为50 MHz的ARM Cortex-M3内核,256 KByte FLASH,64 KByte
SRAM,LQFP-100封装。
集成CAN控制器、睡眠模块、正交编码器、ADC、模拟比
较器、UART、SSI、通用定时器,I2C、CCP等外设。
主要用于CAN总线传输。
EXP-LM3S3749支持最大主频为50 MHz的ARM Cortex-M3内核,128 KByte FLASH,64 KByte
SRAM,LQFP-100封装。
集成USB HOST/DEVICE/OTG、睡眠模块、正交编码器、
ADC、带死区PWM、模拟比较器、UART、SSI、通用定时器,I2C、CCP、DMA控
制器等外设。
芯片内部固化驱动库。
主要用于USB控制。
EXP-LM3S6952支持最大主频为50 MHz的ARM Cortex-M3内核,256 KByte FLASH,64 KByte
SRAM,LQFP-100封装。
集成100MHz以太网、睡眠模块、正交编码器、ADC、带
死区PWM、模拟比较器、UART、SSI、通用定时器,I2C、CCP等外设。
主要用于
网络传输。