版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章ARMCortex-M3处理器ARMCortex-M3内核ARM公司ARM处理器发展路线图ARMCortex-M3处理器MCU中的CPUARM公司ARM(AdvancedRISCMachine)公司诞生于1986年,是一家专门从事芯片IP设计与授权业务的英国公司。ARM公司只设计内核,而不生产具体芯片,它将内核IP授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。ARM内核是一种32位RISC微控制器内核,它已成为业界公认的嵌入式微控制器的标准。ARM生物链...芯片设计公司产品制造商和系统解决方案提供商Wearehere!ARM内核授权ARMCortex-M3处理器ARM公司ARM处理器发展路线图ARMCortex-M3处理器MCU中的CPUARMRoadmap类似80486→Pentium,以后内核名称不以数字命名,而以字母命名;ARM内核命名:ARM{x}{y}{z}——x:系列号,如ARM7/9——y:带MMU/MPU,如ARM72/92——z:带高速缓存,如ARM720/920ARM处理器选择及更多信息ARM处理器家族和体系架构对照表体系结构典型内核Cache(I/D)MMU特点和应用ARMv4TARM7TDMI无无AppleiPod,LegoNXT,GBAARM720T均为8KB有3级流水线ARM9TDMI无无5级流水线ARM920T均为16KB有GarminNavigationDevicesARMv4StrongARMSA1均为16KB有HPJornadaPDAARMv5[E]ARM926EJ-S有有SonyEricssonMobilePhoneARM1020E均为32KB有6级流水线PXA270均为32KB有7级流水线,HTCPhoneARMv6ARM1136J-S有有8级流水线,NokiaN93ARMv6-MARMCortex-M0无无ApplePDAARMv7-MARMCortex-M3有有MPU高速公路ETC读卡机ARMv7-RARMCortex-R4有有MPUBroadcomARMv7-AARMCortex-A7有有
ARMCortex-A8有有AppleiPad/iPhone/iPodTouchARMCortex-A9有有LGOptimus2XMobilePhoneARMCortex-A15有有
满足不同应用的ARM处理器高端基于虚拟内存的复杂操作系统应用(带MMU)实时信号处理或控制应用微控制器低成本低功耗应用Cortex-M0Cortex-M3Cortex-M4取代传统意义的单片机ARMCortex-M3处理器ARM公司ARM处理器发展路线图ARMCortex-M3处理器概述(特点、组成和第三方支持)寄存器组工作模式和特权级别异常和中断(向量表)堆栈实现和双堆栈机制指令集存储器系统MCU中的CPUARMCortex-M3处理器参考书籍Cortex-M3处理器基础——组成——指令集——存储器系统——中断和异常——低层编程与开发ARMCortex-M3处理器概述—特点基于哈佛体系结构的32位ARMv7处理器哈佛体系结构:CPU与其直接相连的存储器之间的结构关系ARMCortex-M3处理器概述—特点基于哈佛体系结构的32位ARMv7处理器冯诺依曼体系结构:CPU与其直接相连的存储器之间的结构关系基于哈佛体系结构的32位ARMv7处理器ARMCortex-M3处理器概述—特点基于哈佛体系结构的32位ARMv7处理器指令和数据总线均32位ARMCortex-M3处理器概述—特点ARMCortex-M3处理器由Cortex-M3内核和调试系统两部分组成。Cortex-M3内核CM3Core(中央处理器核心):CPUNVIC(嵌套向量中断控制器)SYSTICK(系统定时器):24位计数器MPU(存储保护单元)BUSMATRIX(总线矩阵)调试系统SW-DP/SWJ-DP(串行线调试端口/串行线JTAG调试端口)…ARMCortex-M3处理器概述—组成ARMCortex-M3处理器结构堆栈指针和运行模式选择指令和数据总线均32位CPU:CM3CoreSW-DP/SWJ-DP返回ARMCortex-M3处理器的总线接口低速APBPC中南桥由MCU制造商(ST)设计高速AHBPC中北桥由内核设计者ARM公司设计ARMCortex-M3处理器概述—支持广泛的第三方支持开发语言开发软件调试工具操作系统广泛的第三方支持(开发语言)支持C语言和汇编语言,可选择使用全C方式开发应用程序文件(C):用户编写无操作系统下基于CM3内核的嵌入式工程Cortex-M3内核文件(C):ARM公司提供STM32外设驱动文件(C):ST公司提供STM32启动文件(汇编):ARM公司提供ARMCortex-M3处理器概述—支持广泛的第三方支持(开发软件)REALVIEWMDK、IAREWARMARMCortex-M3处理器概述—支持广泛的第三方支持(开发软件)REALVIEWMDK、IAREWARMARMCortex-M3处理器概述—支持广泛的第三方支持(调试工具)JLINK、ULINKARMCortex-M3处理器概述—支持广泛的第三方支持(操作系统)基于MDK的RTX和RTLLibraryARMCortex-M3处理器概述—支持广泛的第三方支持(操作系统)开源但不免费的uCosARMCortex-M3处理器概述—支持广泛的第三方支持(小结)开发软件调试工具操作系统开发语言ARMCortex-M3处理器概述—支持ARMCortex-M3处理器ARM公司ARM处理器发展路线图ARMCortex-M3处理器概述(特点、组成和第三方支持)寄存器组工作模式和特权级别异常和中断(向量表)堆栈实现和双堆栈机制指令集存储器系统MCU中的CPUCM3内核寄存器组CM3内核寄存器组Cortex-M3内核拥有两个堆栈指针,然而它们是Banked,任一时刻只能使用其中的一个。MSP:用于操作系统内核以及异常处理例程PSP:由用户的应用程序代码使用堆栈指针的最低两位总是0,这意味着他们总是字对齐CM3内核寄存器组ARM公司ARM内核发展路线图ARMCortex-M3内核概述(特点、组成和第三方支持)寄存器组工作模式和特权级别异常和中断(向量表)堆栈实现和双堆栈机制指令集存储器系统ARMCortex-M3处理器MCU中的CPUARMCortex-M3处理器运行模式线程模式和处理者模式处理者模式(HandlerMode):中断服务程序或OS内核的代码运行模式线程模式(ThreadMode):普通应用程序的代码运行模式ARMCortex-M3处理器特权级别用户级和特权级特权级(Privileged):可以执行所有指令,访问MPU限定外所有存储空间用户级(Unprivileged):不能执行特权级指令(如MSR/MRS)ARMCortex-M3处理器模式和特权ARMCortex-M3处理器模式和特权ARM公司ARM处理器发展路线图ARMCortex-M3处理器概述(特点、组成和第三方支持)寄存器组工作模式和特权级别异常和中断(向量表)堆栈实现和双堆栈机制指令集存储器系统ARMCortex-M3处理器MCU中的CPUARMCortex-M3处理器异常和中断ARMCortex-M3处理器支持
——11种系统异常(内部)
——240种外部中断CM3内核所有中断机制都由嵌套向量中断控制器NVIC实现CM3内核中断向量表异常类型表ARMCortex-M3处理器中断向量表中断向量表异常类型表项向量入口地址偏移量向量名称ARMCortex-M3处理器复位序列ARMCortex-M3处理器复位序列ARM公司ARM处理器发展路线图ARMCortex-M3处理器概述(特点、组成和第三方支持)寄存器组工作模式和特权级别异常和中断(向量表)堆栈实现和双堆栈机制指令集存储器系统ARMCortex-M3处理器MCU中的CPUARMCortex-M3处理器堆栈实现CM3的堆栈是满递减栈
数据进栈指令由PUSH指令完成,操作如下所示:CM3的堆栈是满递减栈
数据出栈指令由POP指令完成,操作如下所示:ARMCortex-M3处理器堆栈实现ARMCortex-M3处理器双堆栈机制ARMCortex-M3有两个堆栈:MSP和PSP
复位时默认ARMCortex-M3有两个堆栈:MSP和PSP
防止用户程序的堆栈错误破坏OS使用的堆栈ARMCortex-M3处理器双堆栈机制ARM公司ARM处理器发展路线图ARMCortex-M3处理器概述(特点、组成和第三方支持)寄存器组工作模式和特权级别异常和中断(向量表)堆栈实现和双堆栈机制指令集存储器系统ARMCortex-M3处理器MCU中的CPUARMCortex-M3处理器指令集面向高级语言的Thumb-2指令集ARM7具有两套指令集:——ARM指令集——Thumb指令集16位的Thumb指令集能完成标准32位ARM指令集大部分功能,具有灵活和小巧特点32位的ARM指令集支持ARM核所有的特性,具有高效和快速的特点在32位ARM指令集和16位Thumb指令集间切换要慎重面向高级语言的Thumb-2指令集ARMCortex-M3扩充Thumb原先受限的16位Thumb指令集,再加上部分32位ARM指令,构成了Thumb-2指令集。——具有32位ARM代码性能——具有16位Thumb代码密度ARM7ARMCortex-M3处理器指令集CM3内核指令集ARM公司ARM处理器发展路线图ARMCortex-M3处理器概述(特点、组成和第三方支持)寄存器组工作模式和特权级别异常和中断(向量表)堆栈实现和双堆栈机制指令集存储器系统ARMCortex-M3处理器MCU中的CPUARMCortex-M3存储器映射4GB的存储空间划分可选的存储保护单元SystemMemory:存放IAP代码片上FLASH:存放启动代码ARMCortex-M3存储器映射可选的存储保护单元ARMCortex-M3存储格式小端格式(Intel处理器)
小端格式,又称小字节序或者低字节序,是一种将高字节数据存放在高地址、低字节数据存放在低地址的存储格式(“高高低低”)。例如,使用小端格式将字数据0x1234E0存放到地址0x20002000上时,其存储如下图所示。ARMCortex-M3存储格式大端格式(Motorola、IBM处理器)
大端格式,又称大字节序或者高字节序,是一种将高字节数据存放在低地址、低字节数据存放在高地址的存储格式(“高低低高”)。例如,在下图的存储分布中,使用大端格式读取地址0x20009FFC上的字数据为0x0A9B000C。ARMCortex-M3低功耗模式睡眠模式停止执行指令通过WFI或WFE指令进入,中断后可保持亦可退出深度睡眠模式关闭锁相环通过设置寄存器中的相应标志位进入,中断退出ARMCortex-M3处理器ARM公司ARM内核发展路线图ARMCortex-M3内核小结MCU中的CPUARM7VsARMCortex-M340-60MHz60-80MHz都面向低成本低功耗的微
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB37∕T 3105-2018 《向日葵种子纯度蛋白电泳检测标准》
- 安防设备设施维保方案
- 产科护理循证实践
- 浙江省绍兴市越城区袍江中学2026届全国初三模拟考三全国I卷数学试题含解析
- 安全技术专项施工方案
- 2026年陕西省西安市西安交通大附属中学初三5月大联考(三)英语试题试卷含解析
- 山东省平邑县温水镇中学2026届初三2月第一次调研英语试题理试题含解析
- 安徽合肥市中学国科技大附属中学2025-2026学年中考一模试题含解析
- 广东省韶关市乐昌县市级名校2026年初三考前抢分(三)英语试题含解析
- 应急预案几套(3篇)
- 国门生物安全小学课件
- 2025年烧结钐钴永磁材料项目建议书
- 慢性阻塞性肺疾病的护理指南
- 反间谍法宣传讲座课件
- 《周亚夫军细柳》教学课件
- (2025版)中国癫痫性猝死预防指南课件
- 专项1 代数推理题课件++2026年中考数学一轮专题复习(安徽)
- DB32∕T 4540-2023 水产养殖业污染物控制技术规范
- 2017年3月中国科学院考博英语真题
- 膝关节韧带损伤康复护理指南
- DB37∕T 5123-2018 预拌混凝土及砂浆企业试验室管理规范
评论
0/150
提交评论