ARM Cortex嵌入式系统开发教程 作者 黄建华 全书 第2章.pptVIP

ARM Cortex嵌入式系统开发教程 作者 黄建华 全书 第2章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
  处理器的“体系结构”是指从程序员的角度观察到的处理器组织方式,所以又称为处理器的编程模型。其主要内容为处理器内的寄存器组织、对存储器的寻址方式、指令系统等。   本章将介绍ARM Cortext-M3编程模型、工作状态与工作模式、ARM和Thumb状态的寄存器组织、存储器组织结构、异常及协处理器接口等一些基本概念,还将讲述ARM的编程基础,如ARM微处理器的基本工作原理、与程序设计相关的基本技术细节等。    2.1.1 ARM Cortex-M3处理器的编程模型   ARM Cortex-M3是ARM公司推出的下一代新生内核,它是一款低功耗处理器,具有门数目少、中断延迟短、调试成本低的特点,是为要求有快速中断响应能力的深度嵌入式应用而设计的。 ARM Cortex-M3 CPU具有3级流水线、哈佛结构、独立的本地指令、数据总线以及用于外设的稍微低性能的第三条总线,可提供系统增强型特性,例如现代化调试特性和支持更高级别的块集成。ARM Cortex-M3 CPU还包含一个支持随机跳转的内部预取指单元。   Cortex-M3处理器采用ARMv7-M架构,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架构。Cortex-M3处理器不能执行ARM指令。Thumb指令集是ARM指令集的子集,重新被编码为16位,它支持较高的代码密度以及16位或小于16位的存储器数据总线系统。 Thumb-2在Thumb指令集架构(ISA)上进行了大量的改进,与Thumb相比,它的代码密度更高,并且通过使用16/32位指令,可提供更高的性能。   Cortex-M3处理器整合了以下组件:   (1) ?ARMv7-M处理器内核。Thumb-2 ISA子集,包含所有基本的16位和32位Thumb-2指令、硬件除法指令、处理模式(Handler Mode)和线程模式(Thread Mode)、Thumb状态和调试状态、可中断-可继续(Interruptible-Continued)的LDM/STM及PUSH/POP,以实现低中断延迟,自动保存和恢复处理器状态,可实现低延迟地进入和退出中断服务程序(ISR)。   (2) 嵌套向量中断控制器(NVIC)。NVIC可与处理器内核紧密结合实现低延迟中断处理,并具有以下特性:外部中断可配置为1~240个,优先级位可配置为3~8位,中断优先级可动态地重新配置,优先级分为占先中断等级和非占先中断等级,支持末尾连锁(Tail-Chaining)和迟来(Late Arrival)中断。   (3) 存储器保护单元(MPU)。MPU功能可选,用于对存储器进行保护。   (4) 总线接口。包括AHBLite ICode、DCode和系统总线接口,APB专用外设总线(PPB)接口,支持bit-band方式的原子写和读访问。   (5) 低成本调试解决方案。当内核正在运行、被中止或处于复位状态时,能对系统中包括Cortex-M3寄存器组在内的所有存储器和寄存器进行调试访问;支持串行线(SW-DP)或JTAG (JTAG-DP)调试访问;支持Flash修补和断点单元(FPB),实现断点和代码修补;支持数据观察点和触发单元(DWT),实现观察点、触发资源和系统分析(Systemprofiling);实现了仪表跟踪宏单元(ITM),支持对printf 类型的调试;提供跟踪端口的接口单元(TPIU),用来连接跟踪端口分析仪;提供可选的嵌入式跟踪宏单元(ETM),实现指令跟踪。   Cortex-M3处理器的内核模块框图如图2.1所示。       图2.1 ARM Cortex-M3内核模块框图   Cortex-M3处理器专门针对快速和简单的编程而设计,用户无需深厚的架构知识或编写任何汇编代码就可以建立简单的应用程序。Cortex-M3处理器带有一个简化的基于栈的编程模型,该模型与传统的ARM架构兼容,Cortex-M3与传统的8位、16位架构所使用的系统相似,它简化了8位、16位到32位的转换过程。此外,使用基于硬件的中断机制意味着编写中断服务程序(handlers)不再重要。在不需要汇编代码寄存器操作的情况下,启动代码得到了大大的简化。   在位字段处理、硬件除法和If/Then指令的协助下,Thumb-2指令集架构(Instruction Set Architecture,ISA)底层的关键特性使C代码的执行变得更加自然。在开发方面,Thumb-2指令自动优化了性能和代码密度,在无需交互使用ARM代码和Thumb代码的情况下加快了开发的进程,简化了编译目标的长期维护和支持工作。如此一来,用户不但可以继续使用C代码,而且还免去了建立预编译目标代码库的麻烦,代码在更大程度上获得了重复利用。 2.1

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档