版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM体系结构及编程模型东北电力大学·嵌入式系统课程Contents课程目录系统掌握ARM体系结构核心知识,从处理器原理到嵌入式开发环境的完整学习路径。01ARM技术的应用领域及特点02ARM微处理器系列03ARM处理器的工作模式04ARM处理器的寄存器组织05ARM异常处理06ARM处理器的存储器格式07ARM处理器的工作状态08嵌入式开发环境构建Chapter01ARM技术的应用领域及特点从公司背景到技术生态,理解ARM的核心价值CompanyProfileARM公司概述与商业模式ARM采用独特的Chipless授权模式,专注芯片设计IP而非制造,构建了覆盖32位RISC微处理器75%以上市场份额的庞大生态。ARM总部·英国剑桥Founded19911991年成立于英国剑桥,从谷仓创业起步,现已成为全球主要半导体芯片厂商和操作系统开发商的最主要合作伙伴。ChiplessARM只负责设计IC并出售设计IP授权,由德州仪器、意法半导体、三星等厂商加入外围电路后生产完整芯片。75%+Share基于ARM技术的微处理器占据32位RISC市场75%以上份额,国内中兴、大唐、中芯国际等也推出了ARM核处理器。ApplicationDomainsARM微处理器的应用领域ARM微处理器已广泛深入工业控制、网络通信、消费电子、成像安全等国民经济各领域,其32位RISC架构的低功耗、高性价比特性正持续挑战传统8/16位微控制器和专用DSP芯片的市场地位。工业控制领域作为32位RISC架构,ARM核微控制器占据高端微控制器市场大部分份额,并逐渐向低端应用扩展低功耗、高性价比特性向传统8/16位微控制器提出挑战,适用于工业自动化、仪器仪表等场景32位RISC网络与通信采用ARM技术的ADSL芯片随宽带技术推广逐步获得竞争优势ARM在语音及视频处理上的优化获得广泛支持,对DSP应用领域形成挑战ADSL消费电子产品数字音频播放器、数字机顶盒、游戏机等流行产品中广泛采用ARM技术数码相机、打印机绝大部分采用ARM技术,手机32位SIM智能卡也基于ARM架构SIMCoreArchitectureARM技术的核心特点ARM技术的成功源于RISC精简指令集架构的高效执行、卓越的功耗能效比以及完善的产业生态系统,这三者共同构成了ARM在移动计算和嵌入式领域的核心竞争力。01RISC架构优势精简指令集设计使处理器结构简洁、执行效率高,单周期执行大部分指令,便于流水线优化02卓越功耗表现能效比业界领先,低功耗特性使其成为移动设备、物联网节点等电池供电场景的首选03完善生态系统从IP授权、EDA工具、编译器到RTOS/OS支持,形成完整产业链,大幅降低嵌入式开发门槛04高度可定制性授权厂商可根据应用需求添加外围电路、调整缓存配置,实现差异化芯片设计ARMCortex芯片晶圆微距实拍CHAPTER02ARM微处理器系列从ARM7到Cortex,梳理ARM处理器的演进脉络ArchitectureEvolutionARM处理器发展历程ARM处理器从1985年全球首款商用RISC处理器起步,历经ARM6/7/9/11经典系列,于2004年推出Cortex系列实现产品线重构,2011年ARMv8架构开启64位时代,持续引领移动计算架构演进。1985起源与创立艾康电脑开发全球首款商用RISC处理器,1990年在苹果和VLSI投资下成立独立ARM公司RISC先驱1991经典系列迭代推出ARM6嵌入式处理器,1993年ARM7发布,1997年ARM9TDMI引入Thumb指令集Thumb指令集2004Cortex重构发布ARMv7架构Cortex系列,按应用分为Cortex-A、Cortex-R、Cortex-M三条产品线三条产品线201164位时代ARMv8架构发布引入64位支持,2012年开启64位进程,苹果A7成为首款ARMv8量产芯片苹果A7首发TECHNICALOVERVIEWARM版本命名体系解析ARM版本号分为内核版本、架构版本和SoC版本三个层次,初学者常混淆ARM7与ARMv7的概念,需明确区分不同命名体系。内核版本号ARM6/7/9/11代表具体处理器核型号,如ARM7TDMI支持Thumb指令集和调试功能,是早期嵌入式系统的核心选择。架构版本号ARMv4到ARMv8代表指令集架构演进,ARMv7架构对应Cortex系列而非ARM7,这一区分是理解ARM生态的关键。SoC版本号芯片厂商基于ARM核设计完整系统芯片,如骁龙、Exynos、麒麟各有独立命名,反映不同厂商的产品策略。ARM内核与架构版本对应关系内核型号架构版本年份关键特性ARM7TDMIARMv4T1993Thumb指令集、调试支持ARM9TDMIARMv4T19975级流水线、哈佛结构ARM9EARMv5TE1999DSP指令扩展ARM11ARMv62002SIMD媒体处理Cortex-A8ARMv7-A2005超标量双发射Cortex-A9ARMv7-A2007多核MPCore支持ARM内核型号与架构版本并非一一对应,同一架构可有多个内核实现CHAPTER03ARM处理器的工作模式七种工作模式的权限划分与切换机制ProcessorArchitectureARM七种工作模式概览ARM处理器定义了七种工作模式,包括1种非特权模式(用户模式)和6种特权模式,特权模式又分为系统模式和5种异常模式,不同模式对应不同的权限级别和寄存器配置,构成了ARM的安全保护机制基础。ARM处理器七种工作模式模式名称模式编码权限类型主要用途用户模式(User)0b10000非特权正常运行应用程序,无法直接访问系统资源系统模式(System)0b11111特权运行操作系统特权任务,与用户模式共享寄存器管理模式(Supervisor)0b10011特权/异常SWI软中断调用时进入,用于操作系统服务中断模式(IRQ)0b10010特权/异常响应普通中断请求nIRQ快速中断模式(FIQ)0b10001特权/异常响应高优先级快速中断nFIQ未定义模式(Undefined)0b11011特权/异常执行未定义指令时进入,支持指令模拟中止模式(Abort)0b10111特权/异常存储器访问异常时进入,处理预取/数据中止用户模式是唯一非特权模式,系统模式具有特权但与用户共享寄存器,其余五种为异常响应模式ARMPROCESSORMODES用户模式与系统模式详解用户模式是ARM唯一的非特权模式,运行应用程序时无法直接访问系统资源;系统模式与用户模式共享寄存器组但具有特权访问能力,专用于运行操作系统内核任务,这种设计简化了特权任务的上下文切换开销。01用户模式限制:无法修改CPSR中的模式位,不能直接访问CP15等系统协处理器,存储器访问受MMU保护CPSR·MMU02系统模式特性:与用户模式共享R0–R14和CPSR寄存器组,但可执行所有特权指令和访问所有系统资源R0–R14共享03模式切换机制:用户模式只能通过异常(中断、SWI等)进入特权模式,特权模式可通过修改CPSR直接切换到任意模式SWI·异常入口04典型应用场景:操作系统内核线程、设备驱动程序等需要在特权级别运行但又需保持寄存器上下文的场景使用系统模式内核线程·驱动操作系统内核运行环境实拍ARMArchitecture·ExceptionModes五种异常模式触发条件ARM五种异常模式分别对应不同的异常事件:管理模式处理SWI系统调用、IRQ/FIQ模式响应外部中断请求、未定义模式支持指令仿真扩展、中止模式处理存储器访问异常,每种模式都有独立的寄存器组保存异常上下文。SVC&IRQ管理与中断模式管理模式(SVC):执行SWI指令时进入,提供用户程序请求OS服务的标准入口,支持系统调用与特权操作切换IRQ模式:nIRQ引脚低电平触发,处理定时器、串口等普通中断,优先级低于FIQ,支持中断嵌套SWI·nIRQFIQ快速中断模式FIQ模式:nFIQ引脚触发,用于高优先级数据传输,拥有5个私有寄存器(R8-R12)减少上下文保存开销,响应延迟最小CPSR的F位控制FIQ使能,仅特权模式可修改该位,进入时自动屏蔽其他中断保证原子性nFIQ·5私有寄存器UNDEFINED&ABORT未定义与中止模式未定义模式:处理器无法解码指令时进入,可用于软件仿真浮点运算等新指令集扩展,支持协处理器模拟中止模式:存储器访问违例(预取中止/数据中止)时进入,由MMU配合实现内存保护与虚拟地址映射异常处理MMU·内存保护CHAPTER04ARM处理器的寄存器组织37个寄存器的分布、分组与模式相关可见性RegisterArchitectureARM寄存器总体结构ARM处理器共包含37个32位寄存器:31个通用寄存器(R0-R15加各模式备份)和6个状态寄存器(1个CPSR加5个SPSR),不同工作模式下可见的寄存器子集不同,这种设计使异常响应时能快速保存上下文。通用寄存器R0-R12通用数据寄存器,用于算术运算、数据传递和地址计算,所有模式共享●支持字节、半字、字操作DataRegistersR13(SP)堆栈指针每种模式有独立的SP寄存器,指向该模式的堆栈空间●用于函数调用和异常处理StackPointerR14(LR)链接寄存器保存子程序返回地址或异常返回地址,每种模式有独立的LR●支持嵌套调用与快速返回LinkRegisterR15(PC)程序计数器指向当前执行指令地址(ARM状态)或下条指令地址,所有模式共享●流水线预取机制影响PC值ProgramCounterCPSR当前状态寄存器包含条件标志、中断禁止位和当前模式信息●NZCV条件标志与中断控制位StatusRegisterSPSR备份状态寄存器5种异常模式各有1个SPSR,用于保存异常发生时的CPSR●异常返回时自动恢复处理器状态SavedStatusARMArchitecture·RegisterCPSR状态寄存器详解CPSR(当前程序状态寄存器)是ARM状态管理的核心,其32位分为条件标志位(N/Z/C/V)、控制位(I/F/T中断与状态控制)和模式位(M4:M0)三个功能区域,直接决定处理器的运行行为和权限级别。01条件标志位[31:28]—N(负)、Z(零)、C(进位)、V(溢出),用于条件指令执行判断,如BEQ、BNE等分支指令02中断控制位—I位(bit7)禁止IRQ中断、F位(bit6)禁止FIQ中断,仅特权模式可修改这两个位03状态位T(bit5)—为1时处于Thumb状态,为0时处于ARM状态,异常发生时自动清零切换到ARM状态04模式位M[4:0](bit4:0)—编码当前工作模式,如10000=用户模式、10010=IRQ模式、10001=FIQ模式CPSR关键位字段定义位域名称功能说明31N负标志,运算结果为负时置130Z零标志,运算结果为零时置129C进位标志,加法进位或减法借位时置128V溢出标志,有符号运算溢出时置17IIRQ中断禁止位,为1时屏蔽IRQ6FFIQ中断禁止位,为1时屏蔽FIQ5TThumb状态位,为1时处于Thumb状态4:0M模式编码,决定当前工作模式寄存器分组寄存器分组与模式私有寄存器ARM寄存器采用分组机制,用户/系统模式共享R0-R15,而5种异常模式各有私有寄存器用于保存异常上下文。FIQ模式拥有最多私有寄存器(R8-R14加SPSR),减少上下文切换开销;其他异常模式各有R13、R14和SPSR三个私有寄存器。用户/系统模式共享R0–R15和CPSR,无SPSR用户模式无特权访问权限,系统模式有特权但寄存器视图相同R0–R15IRQ/Abort/Und/SVC各有R13_xxx、R14_xxx两个私有通用寄存器各有1个SPSR_xxx保存进入异常时的CPSR状态3私有FIQ模式(快速中断)拥有R8_fiq到R12_fiq共5个额外私有数据寄存器加上R13_fiq、R14_fiq和SPSR_fiq,共8个私有寄存器8私有CHAPTER05ARM异常处理异常类型、向量表、响应流程与返回机制EXCEPTIONHANDLINGARM七种异常类型与优先级ARM定义了七种异常类型,按优先级从高到低依次为复位、数据中止、FIQ、IRQ、预取中止、未定义指令和SWI软中断,每种异常对应特定的处理模式和向量地址,构成了ARM的事件响应基础框架。ARM异常类型优先级与处理模式优先级异常类型进入模式向量地址1(最高)复位(Reset)SVC0x000000002数据中止(DataAbort)Abort0x000000103FIQ快速中断FIQ0x0000001C4IRQ普通中断IRQ0x000000185预取中止(PrefetchAbort)Abort0x0000000C6未定义指令(Undefined)Undef0x000000047(最低)SWI软件中断SVC0x00000008异常优先级决定同时发生时的处理顺序,复位异常最高、SWI最低,每种异常有固定向量地址ExceptionResponse异常响应流程详解ARM异常响应时自动执行四步操作:保存返回地址到LR、保存CPSR到SPSR、切换工作模式并设置中断屏蔽、跳转异常向量地址,确保异常上下文的完整保存和快速响应。01保存返回地址将下一条指令地址(R15+偏移)存入当前模式的R14_xxx,偏移量取决于异常类型和流水线状态02保存状态寄存器将CPSR复制到SPSR_xxx,保存异常发生时的条件标志、中断状态和模式信息03切换工作模式根据异常类型修改CPSR的M[4:0]位进入对应模式,复位/FIQ时设置F位禁止FIQ,复位/FIQ/IRQ时设置I位禁止IRQ04跳转异常处理将异常向量地址加载到PC,若处于Thumb状态则T位清零,自动切换到ARM状态执行异常处理程序ARM开发板连接JTAG调试器实拍EXCEPTIONHANDLING异常返回机制ARM异常返回通过恢复PC和CPSR实现:将LR减去类型相关偏移后送入PC恢复执行位置,将SPSR复制回CPSR恢复处理器状态。01恢复PC将R14_xxx减去偏移量后送入R15(PC),偏移量因异常类型而异,IRQ/FIQ通常为4字节。R14→R1502恢复CPSR将SPSR_xxx复制回CPSR,自动恢复异常前的条件标志、中断使能位和工作模式。SPSR→CPSR03典型返回指令IRQ用SUBSPC,R14_irq,#4;SWI用MOVSPC,R14_svc,带S后缀自动触发SPSR到CPSR的复制。SUBS·MOVS04特殊情况复位异常无需返回,程序从此开始执行;FIQ处理完毕用SUBSPC,R14_fiq,#4返回。RESET·FIQCHAPTER06ARM处理器的存储器格式地址空间、字节序与存储器映射机制MEMORYARCHITECTURE存储器映射与MMU机制ARM嵌入式系统将4GB地址空间映射到Flash、SDRAM、外设寄存器等不同物理设备,带MMU的处理器还支持虚拟地址转换和页级权限保护,为运行Linux等支持虚拟内存的操作系统提供硬件基础。Flash通常位于低地址区域,存放Bootloader、内核镜像和文件系统,掉电不丢失SDRAM用于运行时数据存储,存放操作系统、应用程序和用户数据,访问速度快但掉电丢失PeripheralGPIO、UART、定时器等外设控制寄存器映射到特定地址,通过内存读写实现I/O操作MMU通过页表实现虚拟地址到物理地址转换,支持4KB/64KB/1MB/16MB四种页大小,提供域保护和访问权限控制嵌入式开发板Flash与SDRAM芯片实拍Chapter07ARM处理器的工作状态ARM状态与Thumb状态的切换与编程策略STATESWITCHINGARM与Thumb状态切换机制ARM与Thumb状态通过BX指令和目标地址最低位实现切换:地址bit0=1进入Thumb,bit0=0进入ARM;异常时处理器自动清零T位确保完整指令集执行。01Thumb状态进入执行BXRn且Rn的bit0=1时,处理器将CPSR寄存器的T位置1,随即进入Thumb状态,开始执行16位压缩指令集,显著降低代码体积。02ARM状态返回执行BXRn且Rn的bit0=0时,处理器将CPSR的T位清零,切换回ARM状态,恢复32位指令执行,获得更高的处理性能和更丰富的指令功能。03异常自动切换当异常或中断发生时,处理器硬件自动将T位清零,强制从Thumb状态切换到ARM状态执行异常处理程序,确保异常处理拥有完整的32位指令集支持。04编译器自动处理GCC通过-mthumb编译选项生成Thumb代码,在函数间调用时自动插入状态切换代码(veneers),开发者无需手动管理状态转换,编译器保证调用约定的正确性。CHAPTER08嵌入式开发环境构建交叉编译、工具链配置与调试方法EMBEDDEDDEBUGGING嵌入式开发辅助设备与调试嵌入式开发依赖SD卡(启动介质)、USB转串口线(调试输出)和JTAG调试器(硬件调试)等辅助设备,这些工具解决了嵌入式系统无法本地运行调试、需要专用启动介质和硬件级调试支持的特殊需求。01SD卡作为启动介质:PC端烧录镜像到SD卡,插入目标板卡槽后设置启动方式从SD卡引导系统启动介质02USB转串口线:连接PC与开发板串口,通过minicom/PuTTY等终端软件监视调试输出和系统日志调试输出03JTAG调试器:通过JTAG/SWD接口连接目标机,支持断点设置、单步执行、内存查看等硬件级调试功能硬件调试04Bootloader:嵌入式系统需要U-Boot等引导程序,必须首先存在于可启动介质中,负责加载内核镜像U-BootJTAG调试器连接STM32开发板实拍EmbeddedToolchainARM嵌入式开发工具链ARM嵌入式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 母婴安全管理及护理
- itp诊治进展郭新红
- 《金属切削机床》-教学单元8
- 消防安全教育培训管理制度(带附件表单)
- 再生透水混凝土护坡抗滑稳定性验收监理细则
- 混合集成电路装调工岗前设备维护考核试卷含答案
- Bobath疗法对脑卒中恢复期患者的康复治疗子项目
- 工业固体废物处理处置工复试水平考核试卷含答案
- 苯基氯硅烷生产工诚信道德考核试卷含答案
- BOSCH电控柴油共轨12传感器介绍
- 2026年浙江省金华市辅警协警招聘笔试参考题库及答案详解
- 追溯建军历史 铭记峥嵘岁月
- 2026浙江浙能电力股份限公司招聘140人易考易错模拟试题(共500题)试卷后附参考答案
- 煤矿班组长现场安全管控培训课件
- 小学四年级上册英语绘本融合课教案:《Help Yourself!》自助主题单元教学设计
- 2023 电液伺服万能试验机
- 初高中语文衔接教学课程设计方案
- LYT 3464-2026《退化草原免耕补播技术规程》(纯净版)
- GB/T 29678-2013烫发剂
- GB/T 10546-2013在2.5 MPa及以下压力下输送液态或气态液化石油气(LPG)和天然气的橡胶软管及软管组合件规范
- ECMO基本知识及应用课件
评论
0/150
提交评论