第2章-ARM-Cortex-M3-体系结构-嵌入式计算机系统设计-教学课件.ppt
《第2章-ARM-Cortex-M3-体系结构-嵌入式计算机系统设计-教学课件.ppt》由会员分享,可在线阅读,更多相关《第2章-ARM-Cortex-M3-体系结构-嵌入式计算机系统设计-教学课件.ppt(104页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Luminary Micro LM3S系列系列32位位ARM微控制器系统设计与实践微控制器系统设计与实践教教 师:黄国兵师:黄国兵时时 间:间:2013年年第2章 ARM Cortex-M3 体系结构第2章 ARM Cortex-M3 体系结构2.1节 ARM Cortex-M3 处理器内核 Cortex-M3 内核的主要特点 n功耗低n(0.19mW/MHz 0.28mW/MHz(ARM)n内核的门数少,具有优异的性价比n(33K(Core)60K(Core+外设)n中断延迟短n(6/12个时钟周期2442(ARM)n自动保护核恢复处理器状态n调试成本低n支持JTAG和UART调试n具有嵌套
2、向量中断控制器(NVIC)n1-240个中断源,128级中断n处理器采用ARMv7-M 架构n具有可裁减的存储器保护单元(MPU)n总线接口 Cortex-M3 处理器结构方框图 Cortex-M3 与ARM7 的性能比较 三级流水线的指令执行 n取指:从存储器装载一条指令n译码:识别将要执行的指令,分支预测 在此阶段完成 n执行:处理指令并将结果写回寄存器 第2章 ARM Cortex-M3 体系结构2.2节 编程模型1.工作模式与访问权限的关系特权访问和用户访问特权访问和用户访问2.特权访问和用户访问之间的相互转换4.三种执行模式的比较 特权访问和用户访问Cortex-M3的寄存器集 通用
3、寄存器n低寄存器r0-r7n高寄存器r8-r12n堆栈指针寄存器r13n链接寄存器(LR)r14n程序计数器寄存器r15MRS指令结构 nSFR的访问指令:MRS和MSRnMSR:读SFR中的内容到RinMRS:将Ri中的内容写到SFR特殊功能寄存器 数据类型 Cortex-M3处理器支持以下数据类型 l32位字(int)l16位半字(short)l8位字节(char)存储器格式小端数据格式(Litle Endian)存储器格式大端数据格式(Big Endian)Cortex-M3指令集0.Cortex-M3支持的指令集称之为Thumb-2nARM支持的指令ARM和ThumbnARM为32位指
4、令nThumb是16位指令nThumb-2支持所有的Thumb指令n支持一些基本的ARM指令1.Cortex-M3处理器不支持的ARM指令 Cortex-M3指令集2.Cortex-M3处理器支持的ARM指令(续1)Cortex-M3指令集2.Cortex-M3处理器支持的ARM指令(续2)Cortex-M3指令集2.Cortex-M3处理器支持的ARM指令(续3)Cortex-M3存储系统nCortex M3支持4G存储空间,与ARM一样,不过,Cortex M3也有自己的特点:n存储映射预先已定义好,并规定了那个区域使用那条总线n支持Bit-Band位绑定操作,支持按位访问。不过位绑定操作
5、仅适用于特定的区域。n支持非对齐和互斥访问,v7M的特性n支持小端配置和大端配置,缺省为小端配置。Cortex-M3存储器映射Cortex-M3处理器存储区的有效范围别名区和bit_band区的对应关系 Cortex-M3的ROM存储器表第2章 ARM Cortex-M3 体系结构2.4节 系统异常(中断)Cortex-M3处理器的异常处理 lNVIC嵌套中断控制器(支持优先级和中断嵌套)l自动的状态保存和恢复l自动读取代码存储器或SRAM中包含ISR地址的向量表入口l支持末尾连锁l中断优先级可动态重新设置l中断数目可配置为1240l中断优先级的数目可配置为18位l使用C/C+标准的调用规范l
6、优先级屏蔽支持临界区Cortex-M3处理器的异常类型Cortex-M3处理器的异常优先级 n优先级n优先级分组异常占先(抢占)示意图抢占之后堆栈中的内容进入ISR之前,Cortex-M3处理器采取的步骤 l8个寄存器压栈l读向量表l从向量表中读SPl更新PCl加载流水线l更新LR末尾连锁(尾链中断)示意图异常迟来(迟到异常处理)示意图异常返回时的步骤l如果激活异常的优先级比所有被压栈的异常的优先级都高,则处理器会末尾连锁到一个激活异常l如果没有激活异常,或者如果被压栈的异常的最高优先级比激活异常的最高优先级要高,则处理器返回到上一个被压栈的ISRl如果没有激活中断或被压栈的异常,则处理器返回
7、线程模式异常退出时的步骤l8个寄存器出栈:如果没有被抢占,则将PC,xPSR,r0,r1,r2,r3,r12,LR从所选的堆栈中出栈(堆栈由EXC_RETURN选择),并调整SPl加载当前激活的中断号:加载来自被压栈的IPSR的位8:0中的当前激活的中断号l选择SP:如果返回到异常,SP为SP_main,如果返回到线程模式,则SP为SP_main或SP_process异常退出流程图处理器从ISR中返回lPOP包括加载PC的LDM操作lLDR操作,将PC作为目标寄存器lBX操作,可使用任意寄存器异常返回的行为复位动作向量表l向量表中的第1个字为指向堆栈栈顶的指针,复位时内核读取该地址的数据设置S
8、P_main(主堆栈)l向量表的基地址可以通过NVIC中的向量偏移寄存器(0 xE000ED08)来设置,复位时向量表基地址默认为0l向量表中至少需要有4个值:栈顶地址;复位程序的位置;NMI ISR的位置;硬故障ISR的位置l当中断使能时,不管向量表的位置在哪,它都指向所有使能屏蔽的异常l如果使用SVC指令,还需要指定SVCall ISR的位置 复位启动时的动作其它系统中断l不可屏蔽中断l硬故障l存储器管理l总线故障l使用故障lSVCall(调用系统服务)l调试监控 lPendSV(系统服务请求)第2章 ARM Cortex-M3 体系结构2.5节 嵌套向量中断控制器 嵌套向量中断控制器(N
9、VIC)l便于进行低延迟的异常和中断处理l控制电源管理l执行系统控制寄存器NVIC中断与异常控制结构图NVIC空间的分类l0 xE000E000 0 xE000E00F.中断类型寄存器l0 xE000E010 0 xE000E0FF.系统定时器l0 xE000E100 0 xE000ECFF.NVICl0 xE000ED00 0 xE000ED8F.系统控制模块l0 xE000EF00 0 xE000EF0F.软件触发异常寄存器l0 xE000EFD0 0 xE000EFFF.ID空间外部中断l中断使能设置寄存器l(NVIC_EN0NVIC_EN7,0 xE000E1000 xE000E11C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM Cortex M3 体系结构 嵌入式 计算机系统 设计 教学 课件
限制150内