- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第02单元、armcortexm3体系结构
2.1 ARM Cortex-M3编程模型 2.2 ARM Cortex-M3寄存器组织 2.3 ARM Cortex-M3存储器 2.4 ARM Cortex-M3异常处理 2.5 NVIC与中断控制 处理器的“体系结构”指从程序员的角度观察到的处理器组织方式,所以又称为处理器的编程模型。其主要内容为处理器内的寄存器组织、对存储器的寻址方式、指令系统等。 ARM Cortex-M3处理器内核是ARMv7-M架构,建立在一个高性能哈佛结构的三级流水线基础上,可满足事件驱动的应用需求。 通过广泛采用时钟选通等技术,改进了每个时钟周期的性能,包括单周期的32x32乘法和硬件除法,获得了优异的能效比。 通过一个基于堆栈的异常模式的实现,显著地缩小了内核的物理尺寸。 Cortex-M3内核实现了Thumb-2指令集——传统Thumb指令集的一个超集,既获得了传统32位代码的性能,又具有16位的高代码密度。 ① Thumb状态: 处理器执行16位的、半字对齐的Thumb指令或者32位的、整字对齐的Thumb-2指令。Thumb状态是Cortex-M3处理器正常的执行状态。 ② 调试状态:处理器停机调试时进入该状态。 与ARM7处理器不同,Cortex-M3处理器不支持ARM指令的执行,也即没有ARM状态。 Cortex-M3处理器工作模式 Cortex-M3支持两种工作模式:线程模式(thread mode)和处理模式(handler mode)。 线程模式:在复位时,Cortex-M3处理器进入线程模式,异常返回时也会进入该模式,特权和用户(非特权)代码能够在线程模式下运行,大部分任务执行在这种模式 正常程序执行的模式 处理模式:出现异常时,Cortex-M3处理器进入处理模式,在处理模式中,所有代码都是特权访问的。 知识扩展:前后台系统 早期的嵌入式系统中没有操作系统的概念,通常把嵌入式程序分成两部分,即前台程序和后台程序。 应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。 前台程序通过中断来处理事件。 后台程序也叫任务级程序,前台程序也叫事件处理级程序。对于实时性要求特别严格的操作通常由中断来完成。 由于这类系统结构简单,几乎不需要RAM/ROM的额外开销,因而在简单的嵌入式应用被广泛使用。 Cortex-M3的线程模式和处理模式在前后台系统中,后台程序运行在线程模式下,前台程序运行在处理模式下。 Cortex-M3处理器特权访问 Cortex-M3的代码执行进行了特权分级,可以分为特权执行或非特权执行。非特权执行时对有些资源的访问受到限制或不允许访问。特权执行可以访问所有资源。 特权分级可以提供一种存储器访问的保护机制,避免普通的用户程序代码因意外而进行对存储器关键区域的操作。 处理模式始终特权访问,线程模式可以是特权或非特权访问。 系统复位之后,处理器默认进入线程模式,特权级别为特权访问,此时的程序可以访问所有范围的存储器,并且可以执行所有指令。应用程序可通过MSR指令清零CONTROL寄存器的第0位,配置为用户(非特权)访问。 当线程模式的程序从特权访问变为用户访问后,本身便不能回到特权访问。只有通过执行一条系统调用指令SVC,触发SVC异常才能使用户访问的线程模式程序重新进入特权访问。 Cortex-M3处理器拥有16个32位的通用寄存器R0-R15以及一些特殊功能寄存器。 绝大多数的16位指令只能使用R0-R7(低组寄存器),而32位的Thumb-2指令则可以访问所有通用寄存器。 特殊功能寄存器有预定义的功能,包括状态字寄存器xPSR、控制寄存器CONTROL、中断屏蔽寄存器PRIMASK、FAULTMASK、BASEPRI等,它们必须通过专用的指令来访问。 堆栈指针SP (r13) 寄存器R13用作堆栈指针(SP)。它自动与字即4字节边界对齐。 在Cortex-M3处理器内核中共有两个堆栈指针,于是也就支持两个堆栈。当引用R13(或写作SP)时,引用到的是当前正在使用的那一个,另一个必须用特殊的指令来访问。这两个堆栈指针分别是: 主堆栈指针(MSP),或写作SP_main。这是缺省的堆栈指针,它由操作系统内核、异常服务例程以及所有需要特权访问的应用程序代码来使用。 进程堆栈指针(PSP),或写作SP_process。用于常规的应用程序代码(不处于异常服用例程中时)。 处理模式始终使用SP_main,而线程模式可配置为SP_main 或SP_process。R13是堆栈指针。 要注意的是,并不是每个程序都要用齐两个堆栈指针。简单的应用程序只使用MSP就可以了。堆栈指针用于访问堆栈,并且PUSH指令和POP指令默认使用SP。 链接
您可能关注的文档
- 第 二十二单元 非货币性资产交换.ppt
- 第 9 单元 差错控制编码.ppt
- 必修四+三角函数的周期性.ppt
- 八、大气的垂直分层与对流层大气的热状况.ppt
- 八年级英语下module8 public holidays课件外研版.ppt
- 八年级数学 多项式课件 北师大版.ppt
- 八年级上册物理_____光的折射课件.ppt
- 必修一 第二单元 基本初等函数(ⅰ) 对数函数及其性质 指数函数与对数函数的关系.ppt
- 八年级物理第五单元电流与电路.ppt
- 第01单元 序列的统计量、检验和分布.ppt
- 2024年9月台南市直机关遴选公务员面试真题附详解.docx
- 2024年9月福州市直机关遴选公务员面试真题带题目详解.docx
- 2024年9月巴音郭楞蒙古自治州直机关遴选公务员面试真题回忆版.docx
- 2024年2月金昌市直遴选面试真题回忆版汇总.docx
- 2024年2月龙岩市直机关遴选公务员面试真题带答案详解.docx
- 2024年9月宜宾市税务系统遴选面试真题回忆版汇总.docx
- 2024年2月陇南市直机关遴选公务员面试真题附解析.docx
- 2024年2月鄂尔多斯市税务系统遴选面试真题附带题目详解.docx
- 2024年9月台中县税务系统遴选面试真题带详细解析.docx
- 2024年9月咸阳市税务系统遴选面试真题回忆版汇总.docx
最近下载
- 精品美术课件 7岁-9岁 线描 《人物画》.ppt VIP
- 关节脱位病人的护理1ppt课件.pptx VIP
- 2025兰州市辅警考试试卷真题.docx VIP
- GB50068-2018_建筑结构可靠性设计统一标准.docx VIP
- 2021年三升四语文讲义-04讲:基础知识之词语结构(教师版,部编,).docx VIP
- 网络安全管理制度培训.pptx VIP
- 环卫服务过渡交接计划安排与组织实施方案.docx VIP
- 二、衔接部分:三升四语文暑假衔接讲义-03讲:基础知识之扩句、缩句(教师版,人教部编版).docx VIP
- GJB3395-1998 军用计算机网络安全评估准则.pdf VIP
- 国开电大农业推广终结性考试调查报告.doc VIP
文档评论(0)