版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章
ARMCortex-M3内部结构内容2.1ARMCortex-M3简介2.2指令集2.3流水线2.4寄存器组2.5操作模式和特权等级2.6异常、中断和向量表2.7存储器映射2.8调试支持2.1ARMCortex-M3简介ARM公司于2006年推出了Cortex‐M3微处理器核。Cortex-M3是较高效率(1.25DMIPS/MHz)低功耗(0.19mW/MHz)、短中断延时(最少6周期)、低调试成本的32位标准处理器。哈佛结构:独立的数据总线和指令总线集成硬件乘法器(单周期)和除法器(2-12周期)内部的数据总线是32位的,寄存器和存储器接口也是32位的。
Cortex-M3采用的V7M架构和指令集,它的速度比ARM7快三分之一,功耗低四分之三。2.1ARMCortex-M3简介嵌套向量中断控制器NVIC包含异常和中断管理异常由Cortex-M3定义中断由厂商定义系统基定时器SYSTICK简单的倒计时定时器一般用于整个软件系统的基准定时总线矩阵BusMatrix内部总线系统的核心允许同时对不同区域进行访问包含写缓冲和位带操作逻辑AHB到APB总线桥允许外部设备通过APB总线连接到内核总线矩阵BusMatrix内部总线系统的核心允许同时对不同区域进行访问包含写缓冲和位带操作逻辑AHB到APB总线桥允许外部设备通过APB总线连接到内核2.1ARMCortex-M3简介嵌入式跟踪宏单元ETM选配件实时的指令跟踪跟踪结果由TPIU输出数据观察点及跟踪单元DWT:设置数据观察点,匹配后可触发ETM可将数据信息输出至ITM指令跟踪宏单元ITM:该模块可以支持DWT的调试消息输出调试消息输出到TPIU跟踪端口的接口单元TPIU:提供处理器和外部跟踪设备的数据接口2.1ARMCortex-M3简介闪存地址重载及断点单元FPB支持6个硬件断点地址匹配时产生断点事件将匹配的Flash地址映射到SRAM中,可以用于加载数据或调试时调用子程序ROM表提供调试组件或厂商外设的存储器映射信息2.1ARMCortex-M3简介调试访问接口DAP提供调试器与Cortex-M3的访问接口2.1ARMCortex-M3简介存储器保护单元MPU选配件将存储器分为多个区域并分别进行保护2.1ARMCortex-M3简介AHB-LiteAHBAPB2.2指令集旧版本指令集ARM:32位指令集Thumb:16位指令集新版本指令集Thumb2指令集消灭了状态切换的额外开销,节省了执行时间和指令空间。UAL(统一汇编语言)语法机制,由编译器决定使用32位指令或16位指令。不再需要把源代码文件分成按ARM编译的和按Thumb编译的,软件开发的管理大大减负。Cortex-M3指令集Thumb2指令集的子集无协处理器指令无SIMD(单指令多数据流)指令2.3流水线Cortex‐M3处理器使用一个3级流水线。取指,解码和执行。流水线级数、流水线填充、分支预测2.4寄存器组32位的处理器内核、32位的数据总线、32位的存储器接口32位的寄存器通用寄存器特殊功能寄存器2.4寄存器组通用寄存器R0-R15R0-R7低组寄存器R8-R12高组寄存器R13堆栈指针(SP)MSP主堆栈指针PSP进程堆栈指针R14链接寄存器(LR)R15程序计数器(PC)2.4寄存器组特殊功能寄存器只能由MRS和MSR指令进行读写程序状态寄存器组中断屏蔽寄存器组控制寄存器2.4寄存器组程序状态寄存器组应用程序PSR(APSR)中断号PSR(IPSR)执行PSR(EPSR)2.4寄存器组中断屏蔽寄存器组名字功能描述PRIMASK这是个只有1个位的寄存器。当它置1时,就关掉所有可屏蔽的异常,只剩下NMI和硬fault可以响应。它的缺省值是0,表示没有关中断。FAULTMASK这是个只有1个位的寄存器。当它置1时,只有NMI才能响应,所有其它的异常,包括中断和fault,通通屏蔽。它的缺省值也是0,表示没有关异常。主要用于操作系统。BASEPRI这个寄存器最多有9位(由表达优先级的位数决定)它定义了被屏蔽优先级的阈值。当它被设成某个值后,所有优先级号大于等于此值的中断都被关(优先级号越大,优先级越低)但若被设成0,则不关闭任何中断,0也是缺省值。2.4寄存器组控制寄存器位功能CONTROL[1]堆栈指针选择0=选择主堆栈指针MSP(复位后缺省值)1=选择进程堆栈指针PSP在线程级可以使用PSP。在handler模式下,只允许使用MSP,所以此时不得往该位写1。CONTROL[0]0=特权级的线程模式1=用户级的线程模式Handler模式永远都是特权级的。2.5操作模式和特权等级操作模式Handlermode:用于进行异常处理Threadmode:用于运行程序特权等级特权级:异常处理程序和特权程序(操作系统)用户级:用户应用程序无权访问NVIC,SYSTICK及调试跟踪模块的控制寄存器且无法访问除APSR外的特殊功能寄存器2.5操作模式和特权等级合法的模式切换方式2.6异常、中断和异常向量表中断CPU暂停当前程序,处理某一发生的事件,处理结束后返回当前程序。CortexM3的中断240个可屏蔽中断异常号16-255异常CPU暂停当前程序,处理某一发生的事件或错误,处理结束后返回当前程序或进行其他操作。CortexM3的异常共11个异常空异常(MSP初值)复位NMI不可屏蔽中断P28表2-42.6异常、中断和异常向量表NVIC(NestedVectoredInterruptController)嵌套向量中断控制器可嵌套的中断支持(基于优先级)向量中断支持(基于向量表)动态优先级调整支持中断延迟大大缩短(自动现场保护和恢复)中断可屏蔽2.6异常、中断和异常向量表异常类型表项地址偏移量异常向量00x00MSP的初始值10x04复位20x08NMI30x0C硬fault40x10MemManagefault50x14总线fault60x18用法fault7‐100x1c‐0x28保留110x2cSVC120x30调试监视器130x34保留140x38PendSV150x3cSysTick160x40IRQ#0170x44IRQ#118‐2550x48‐0x3FFIRQ#2‐#2392.7存储器映射ICodeDCode系统总线AHB外设总线APB低地址32MB位带区2.8调试支持入侵式调试停机以及单步执行程序硬件断点断点指令(BKPT)数据观察点,作用于单一地址、一个范围的地址,以及数据的值。访问寄存器的值(既包括读,也包括写)调试监视器异常基于ROM的调试非入侵式调试在内核运行的时候访问存储器指令跟踪,需要通过可选的嵌入式跟踪宏单元(ETM)数据跟踪软件跟踪(通过ITM(指令跟踪单元))性能速写(profiling)(通过数据观察点以及跟踪模块)2.8调试支持基于CoreSight的调试访问接口(DAP)总线接口:可以访问寄存器和存储器调试端口SWJ-DP:JTAG及串行调试协议SW-DP:串行调试协议JTAG-DP:ARMCoreSightJTAG调试端口DP调试访问接口DAP内核Cortex-M3小结2.1ARM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (3篇)2024年秋季学期第17周国旗下讲话
- 嘴巴里长泡的健康宣教
- 介入手术分级
- 舌咬伤的健康宣教
- 河南省南阳市(2024年-2025年小学六年级语文)统编版摸底考试(下学期)试卷及答案
- 2024年高级行政人员聘用合同
- 2024房屋买卖合同中的保证金约定
- 2024毛石挡墙道路照明设施施工合同模板下载3篇
- 2025年上海市16区初三语文一模试题汇编之古诗文阅读(学生版)
- 2024年物业服务合同范本:售楼处管理与维护协议
- 中考作文一材多用写作指导课件
- 现代操作系统教程(慕课版)-课后习题答案1-8章全带原题
- 化学专业词汇大全
- 医院培训PPT课件:医疗服务意识
- PCS-PC简单使用方法
- 关于更换公务用车的请示
- 室分工程施工组织设计
- 塔塔里尼调压器FLBM5介绍.ppt
- 国家开放大学毕业生登记表
- CCC例行检验和确认检验程序
- 初中物理竞赛教程(基础篇)第16讲比热容
评论
0/150
提交评论