嵌入式系统导论(第2版)-教学课件 嵌入式导论02_第1页
嵌入式系统导论(第2版)-教学课件 嵌入式导论02_第2页
嵌入式系统导论(第2版)-教学课件 嵌入式导论02_第3页
嵌入式系统导论(第2版)-教学课件 嵌入式导论02_第4页
嵌入式系统导论(第2版)-教学课件 嵌入式导论02_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统导论主讲教师:第2章ARMCortex-M3处理器本章内容提要2.1ARM处理器2.2Cortex-M3处理器结构2.3Cortex-M3处理器的寄存器2.4Cortex-M3处理器的存储器组织参考资料:ARM开发者网站Cortex-M3设备一般用户指南

Cortex-M3DevicesGenericUserGuide为软件开发人员提供的用户指南提供程序员模型、核心外设的详细信息、指令集的通用信息Cortex-M3技术参考手册

Cortex-M3TechnicalReferenceManual

Cortex-M3处理器产品的技术规格书(TRM)包括诸如指令时序、部分接口信息等参考资料:STM32网站编号PM0056的Cortex-M3编程手册STM32F10xxxCortex-M3programmingmanual为使用STM32的开发人员提供Cortex-M3基本知识提供编程模型、指令集和核心外设的编程知识/content/st_com/zh.html/ARM(AdvancedRISCMachines)ARM公司著名的处理器设计公司,成立于1990年总部位于英国剑桥ARM处理器ARM公司专注于设计、并不制作和销售处理器芯片授权转让设计许可、合作公司开发生产芯片ARM技术体积小、功耗少、成本低、性能高等优势基于精简指令集计算机RISC思想2.1ARM处理器ARM处理器体系结构8个版本的ARM体系结构(Architecture)版本v4开始被广泛应用,目前主要使用v7、v8结构授权厂商生产多种ARM处理器系列(family)基于不同版本的结构版本号与处理器系列(数字)并不一致例如,ARM7、ARM9、ARM11等ARMv7、v8结构使用Cortex作为ARM处理器商标面向不同应用领域划分成3种系列·Cortex-A·Cortex-R·Cortex-M2021年,ARM宣布ARMv9体系结构ARMCortex处理器Cortex-A(Application)基于ARMv7-A(ARMv8-A)体系结构用于高性能开放应用程序平台,支持操作系统Cortex-R(Real-time)基于ARMv7-R(ARMv8-R)体系结构用于实时性要求的高端嵌入式系统Cortex-M(Microcontroller)基于ARMv7-M(ARMv8-M)和ARMv6-M体系结构用于运行实时控制系统的小规模应用程序Cortex-M系列处理器广泛应用于现代微控制器产品、以及片上系统SoC和专用标准产品ASSPCortex-M3是ARM公司的第一个Cortex系列处理器Cortex-M3和Cortex-M4基于ARMv7-M体系结构Cortex-M0、Cortex-M0+和Cortex-M1

基于ARMv6-M体系结构,指令集更小Cortex-M0和Cortex-M0+针对低成本微控制器产品Cortex-M1专为FPGA应用设计用于替代传统的ARM7(甚至ARM9)处理器2.2Cortex-M3处理器结构高性能、低功耗、32位RISC处理器基于ARMv7-M结构,只执行Thumb-2指令3段指令流水线(取指-译码-执行)可嵌套向量中断控制器NVIC4GB地址空间,统一的存储器地址分配哈佛(存储)结构允许指令和数据同时访问一系列内部调试部件,支持多种调试接口(可选)存储器保护单元MPU……复杂指令集和精简指令集复杂指令集计算机CISC(CISC:ComplexInstructionSetComputer)指令丰富、程序设计方便、程序短小、执行性能高处理器硬件复杂,不易使用先进的流水线技术,导致其执行速度和性能难以进一步提高精简指令集计算机RISC(RISC:ReducedInstructionSetComputer)指令系统很简单,只有少数简单、常用的指令处理器硬件简单,比较方便地实现优化RISC技术的主要特点指令条数较少寻址方式简单面向寄存器操作指令格式规整单周期执行先进的流水线技术编译器优化……Load-Store结构Load:从主存读取数据Store:把数据写入主存Load-Store结构:只有Load和Store指令存取主存数据,其他运算指令的操作数均在寄存器中冯·诺依曼存储结构和哈佛存储结构指令存储器数据存储器哈弗结构处理器总线总线存储器指令数据冯·诺依曼结构处理器总线冯·诺依曼存储结构系统只有一个存储空间指令和数据共存于此占用不同的存储区域哈佛存储结构系统有两个存储空间一个用于存储指令一个用于存储数据Cortex-M3功能模块Cortex-M3的两个操作状态工作状态(ThumbState)Cortex-M3启动后 执行程序代码(Thumb指令)的工作状态调试状态(DebugState)通过调试程序的停止请求或者处理器调试事件 才能进入的调试状态停止执行指令,只应用于调试操作Thumb状态和Debug状态Cortex-M3的两级特权层次在工作状态时,处理器具有两级特权层次特权级(PrivilegedLevel)可以访问所有处理器资源,执行所有指令可执行异常处理程序和应用程序用户级(非特权级,UnprivilegedLevel)不能访问部分受限的存储区域和进行部分操作只能执行应用程序特权级用户级异常程序异常模式非法应用程序线程模式线程模式Cortex-M3的两种操作模式在工作状态时,处理器还具有两种操作模式异常模式(例程模式,HandlerMode)只能在特权级下,执行异常处理程序线程模式(ThreadMode)特权级和用户级下,执行应用程序复位后,处理器默认进入工作状态的特权级下的线程模式执行应用程序特权级用户级异常程序异常模式非法应用程序线程模式线程模式两级特权层次和两种操作模式2.3Cortex-M3的寄存器通用寄存器应用程序主要使用的寄存器16个,32位,名称:R0–R15R13是(堆)栈指针寄存器SP(StackPointer)R14是连接寄存器LR(LinkRegister)R15是程序计数器PC(ProgramCounter)专用寄存器程序状态寄存器PSR(ProgramStatusRegister)中断/异常屏蔽寄存器控制寄存器CONTROLCortex-M3的通用寄存器Cortex-M3的专用寄存器2.4Cortex-M3的存储器组织32位地址,支持4GB线性地址空间0x00000000–0xFFFFFFFF哈佛(存储)结构,共用存储器地址空间代码区数据区外设区处理器系统外设区等Cortex-M3的地址空间分配位带区(BitBandRegion)数据位的常规操作外设控制常要针对字中某个位(Bit)操作以字节编址的存储器地址空间中,需要3步骤1.(从外设)读取包含该位的字节数据2.设置该位为0或1、同时屏蔽其他位(不改)3.将包含该位的字节数据写入(外设)

LDRr0,=0x20000300

LDRr1,[r0] ;读取数据

ORRr1,r1,#0x4

;D2位设置为1

STRr1,[r0] ;写回结果数据位的位段操作数据位若采用位编址(每位具有一个地址)就可以直接针对这个地址读写代码会更加紧凑、执行效率更高

LDRr0,=0x22006008MOVr1,#1 ;D2位设置为1

STRr1,[r0] ;写入结果0x20000300

0x22006008

位带区地址别名映射位带区的地址映射0x20000000~0x200FFFFF

0x22000000~0x23FFFFFF

别名地址(32MB)数据区(1MB)0x40000000~0x400FFFFF

0x42000000~0x43FFFFFF

别名地址(32MB)外设区(1MB)别名地址

=位带基址

+字节偏移量×32+位号×4地址映射示例字地址0x20000300中位号2的位位段基址=0x22000000字节偏移量=0x20000300-0x20000000=0x300别名地址

=0x22000000+0x300×32+2×4

=0x22006008位号乘以4(二进制左移2位)的原因保证每个别名地址是4字节地址对齐其他3个地址不用字节偏移量乘以32(二进制左移5位)的原因一个字节8位共占用32个地址位带区和别名区关系对齐与不对齐地址访问支持不对齐地址边界的数据传输,使编译器 更自由的在存储器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论