




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM嵌入式系统原理及应用,主讲:盛晨辉 2010.5.1,教学计划,第二讲 基于LPC2000系列ARM的工程设计,第三讲 ARM程序设计,第一讲 嵌入式系统概述及ARM7体系结构,第五讲 ARM外围硬件系统与接口技术,第四讲 LPC2000系列ARM内部硬件结构,第六讲 LPC2000系列ARM硬件结构及实验(1),第七讲 LPC2000系列ARM硬件结构及实验(2),第八讲 LPC2000系列ARM硬件结构及实验(3),第一讲 嵌入式系统概述及ARM7体系结构,ARM7体系结构,LPC2000系列ARM概述,ARM嵌入式系统概述,参考资料及文献:ARM嵌入式系统基础教程(第2版)第一章、第二章、第四章,嵌入式系统概述,概述 即使不可见,嵌入式系统也是无处不在。嵌入式系统不仅存在于生活的方方面面,而且在很多领域和行业得到广泛应用,包括工业自动化、国防、运输以及航空航天等。 嵌入式系统具有无数的种类,每种种类都有自己独特的个性。,计算机分为两大类,通用计算机:PC机、服务器、工作站 专用计算机:硬件软件可剪裁,通常是以嵌入式操作系统 + 用户应用程序,明显的可嵌入性,对体积、成本、价格、功耗非常敏感,功能具有很强的针对性,通常要求可靠性和实时性,嵌入式系统的定义,从技术角度定义:以应用为中心,以计算机技术为基础,硬件软件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 从系统角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语“嵌入式”反映了它通常是更大系统中的完整系统。嵌入的系统中可以有多个嵌入式系统。,嵌入式微处理器的分类,嵌入式微处理器MPU 嵌入式微控制器MCU 嵌入式数字信号处理器DSP,ARM技术的发展,ARM (Advanced RISC Machines) 是一家坐落在英国剑桥的电子公司,1990年11月由苹果电脑、Acorn和VLSI Technology共同组建。 ARM公司既不设计芯片,也不生产芯片,他们以高效的IP (Intellectual Property) 内核为产品。,ARM技术的发展,目前,几十家大的半导体公司都是使用ARM公司的授权,在ARM内核及其技术的基础上添加自己的设计并推出各种芯片产品,即ARM微处理器或ARM微控制器。 ARM芯片已遍及工业控制、消费电子、通信系统、网络系统、无线电系统以及生活的各个方面。已经改变了人们生活、工作和娱乐方式。 世界上大多数嵌入式系统32位微控制器芯片都是基于ARM内核的。 ARM已经成为嵌入式微处理器的代名词,ARM公司成为全球性RISC标准的缔造者。,第一讲 主要内容,ARM7体系结构,LPC2000系列ARM概述,ARM嵌入式系统概述,ARM体系结构,ARM处理器为RISC芯片,其简单的结构使得ARM内核非常小,功耗也很低。RISC体系结构应具有如下特点: 采用固定长度的指令格式,便于译码; 使用单周期指令,便于流水线操作; 使用大量寄存器,数据处理指令只对寄存器操作,不直接操作存储器; 简单的寻址模式; 在一条数据处理指令中,同时完成逻辑处理和位移处理两个功能,实现ALU和移位寄存器的最大利用; 所有的指令都可以根据前面的执行结构决定是否被执行,提高指令的执行效率; 在循环处理中使用地址的自动增减,提高运行效率。,各ARM体系结构版本,为清楚表达各ARM体系结构使用的指令集,ARM公司定义了5种主要的ARM指令集体系版本,即V1V5 。 各版本号有着巨大的改进和完善,并仍在改进中。,ARM处理器核简介,ARM公司开发的很多系列的处理器内核,基于各种内核的处理器都有各自的特点和应用领域。目前使用比较广泛的系列是: ARM7 ARM9 ARM9E ARM10 SecurCore Intel的Xscale,ARM处理器核简介ARM7,ARM7系列微处理器包括四种类型内核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ-S。ARM7TDMI(-S)是目前使用最广泛的32位嵌入式RISC处理器。 T:支持16位压缩指令集Thumb D:支持片上Debug M:内嵌硬件乘法器Multiplier I:嵌入式ICE,支持片上断点调试 S:可综合版本,ARM7TDMI(-S),ARM7TDMI(-S) 基于ARM 体系结构V4 版本,是目前低端的ARM 内核,具有优异的性能,功耗很低,使用的门的数量少,因而应用广泛。 ARM7TDMI(-S) 支持32 位寻址范围,弥补了ARM6 不能在低于5V 电压下工作的不足。,ARM7TDMI(-S)内核框图,ARM7TDMI(-S),ARM7TDMI(-S) 使用流水线来提高指令流的速度。ARM7TDMI(-S)的流水线分为三级:取址 译码 执行。,ARM处理器状态,为了更好地控制代码量,设计了2套指令系统,分别为ARM指令集和Thumb指令集,ARM指令集为32位,Thumb指令集为16位。 ARM指令集具完整功能,Thumb功能上可看做ARM指令集的子集,具有很高的代码密度 ARM状态(默认):执行字方式的ARM指令。 Thumb状态:执行半字方式的Thumb指令。,ARM处理器状态,ARM指令集和Thumb指令集不能同时有效 ARM状态下要使用Thumb指令必须进行状态切换,反之亦然。当前程序状态寄存器CPSR中的控制位T反映处理器的当前状态 T=0表示ARM状态; T=1表示Thumb状态。 处理器状态的切换并不影响处理器的模式和寄存器的内容,ARM处理器状态,BX指令控制程序跳转的同时进行状态切换。 使用BX指令进行状态切换后,流水线中的取指和译码指令会被清除,避免出现处理器错误。 BX指令这种清空流水线的功能使得处理器状态间的切换是安全的。使用MSR(写状态寄存器)直接修改CPSR的T位的做法是不安全的。,ARM处理器模式,ARM处理器共支持7种处理器模式,并以当前程序状态寄存器CPSR中的控制位M4:0反映处理器正在操作的模式。,ARM处理器模式,只有特权模式下才能对当前程序状态寄存器CPSR的所有控制位直接进行读/写访问,而在非特权模式下只允许对CPSR的控制位进行间接访问。 进入异常模式时,处理器总是切换到ARM状态,而非Thumb状态。 处理器复位后进入管理模式,操作系统内核通常处于管理模式。 用户模式是正常运行的工作模式,系统模式具有与用户模式完全相同的寄存器,但系统模式是特权模式,可以访问所有的系统资源,主要提供给操作系统的任务使用。,ARM处理器内部寄存器,ARM7DMI内部有37个用户可访问的32位寄存器,其中6个32位宽的状态寄存器目前只使用了其中的12位。 31个通用寄存器 6个状态寄存器 在不同的工作模式下,程序员可以访问的寄存器不完全相同。,ARM处理器内部寄存器,当前程序状态寄存器CPSR,ARM内核通过CPSR来监视和控制内部操作,每种异常模式都有一个对应的程序状态保存寄存器SPSR,用于保存任务在异常发生之前的CPSR的内容。CPSR包括: 4个条件代码标识(负标识N、零标识Z、进位标识C和溢出标识V) 2个中断禁止位(IRQ禁止与FIQ禁止) 5个当前处理器模式编码位(M4:0) 1个用于指示当前执行指令状态的位(ARM或Thumb),当前程序状态寄存器CPSR,控制位,保留位,标识位,N、Z、C、V是条件代码标识位,可以通过算术和逻辑操作来设置这些位,ARM处理器对这些位进行测试以决定是否执行一条指令,实现条件执行。 N 负标识,运算结果的最高位,记录标识设置操作的结果 Z 零标识,如果标识设置操作的结果为0,置位 C 进位标识,记录无符号加法溢出,减法借位 V 溢出标识,记录标识设置操作的有符号溢出,当前程序状态寄存器CPSR,CPSR的低八位为控制位,分别是: 中断禁止I和F 处理器状态位T 处理器模式位M4M0 发生异常时,控制位改变。当处理器在一个特权模式下操作时,可用软件操作这些位。,异常向量表,异常优先级,进入异常,保存返回地址到LR 保存CPSR的当前值到相应异常模式下的SPSR 设置CPSR为相应的异常模式,禁止相应中断控制位,防止不受控制的中断嵌套 设置PC为相应异常处理程序的中断入口向量地址,退出异常,用LR中的值减去偏移量再恢复PC 用SPSR恢复CPSR 在入口处置位的中断禁止控制位清零,复位异常,nRESET信号被拉低时,ARM处理器放弃正在执行的指令; nRESET信号恢复高电平时,ARM处理器执行以下操作: 强制进入管理模式 禁止IRQ和FIQ 进入ARM状态 强制PC从0x0000 0000开始执行 复位后,除PC和CPSR之外的所有寄存器的值都是随机的。,中断请求异常IRQ,IRQ中断异常发生时,内核自动做如下处理: 将返回地址保存到R14_irq中 将CPSR保存到SPSR_irq中 禁止新的IRQ中断,进入ARM状态,进入IRQ异常模式 强制PC执行0x0000 0018地址的指令 如果需要嵌套IRQ中断,那么必须在中断服务程序中重新使能IRQ中断。,FIQ快速中断异常,CPSR的F位被清零时,可以发生FIQ异常。FIQ是优先级最高的中断,进入该中断后会同时禁止任何外部中断源再次发生中断,除非在软件中重新使能FIQ和IRQ。 FIQ有8个专用寄存器,使得进入FIQ时不用压栈,以提高响应速度。 FIQ入口地址在向量表顶部,可以不需要跳转,直接放置中断服务程序。,未定义指令异常,当ARM处理器遇到一条自己和系统内任何协处理器都无法执行的指令时,发生未定义指令异常。 软件可以使用这一机制通过仿真未定义的协处理器指令来扩展ARM指令集。,中止异常,中止表示当前对存储器的访问不能被完成。 中止有两种类型:预取指中止和数据中止。,SWI软件中断异常,由于系统正常工作是在用户模式下进行的,如果需要切换到特权模式就必须使用软件中断切换到管理模式。 该异常由执行指令SWI产生,用于用户模式下的程序调用特权操作指令。,ARM体系的存储系统,ARM处理器采用冯诺依曼结构,指令和数据共用一条32位数据总线。ARM存储器可以看做一个从0开始的线性递增字节集合: 字节03保存第1个存储的字 字节47保存第2个存储的字 字节811保存第3个存储的字 ARM处理器可以将存储器中的字以下列格式存储:大端(Big-endian)小端(Little-endian)。,存储器格式,位于地址A的字包含的字节位于地址A、A+1、A+2、A+3 位于地址A的半字包含的字节位于地址A、A+1 位于地址A+2的半字包含的字节位于地址A+2、A+3 位于地址A的字包含的半字位于地址A、A+2,LPC2000系列ARM指定为小端,第一讲 主要内容,ARM7体系结构,LPC2000系列ARM概述,ARM嵌入式系统概述,LPC2000系列ARM概述,LPC2000系列ARM是基于一个支持实时仿真和跟踪的32位ARM7TDMI-S的微控制器,芯片内集成丰富的外设,功耗却很低。 具有64/144引脚封装。 片内SRAM及FLASH使单片运行成为可能。 外扩大容量存储器。 片内PLL可实现60MHz操作频率。 片内Boot装载程序实现在系统编程(ISP)和在应用编程(IAP)。,LPC2000系列ARM概述,4/8路10位A/D转换器,转换时间低至2.44ms 2个32位定时器、PWM单元、实时时钟和看门狗。 多个串行接口:UART、I2C和SPI。 向量中断控制器。 2个低功耗模式:空闲和掉电。 可个别使能/禁止外部功能来优化功耗。 双电压:内核1.8V、I/O操作3.3V。,LPC2000系列ARM概述,不同芯片内部存储器容量,对片内Flash编程的3种方法,使用JTAG仿真器,通过芯片的JTAG接口下载程序。 使用在系统编程技术(ISP),通过UART0接口下载程序。 使用在应用编程技术(IAP),可以实现用户程序运行时对FLASH进行擦除或编程。,对片内外存储器的操作,对于SRAM,不管是片内片外,都可直接进行读写操作。 对于片内FLASH,可以直接读取数据,可使用ISP或IAP进行擦除和编程。 对于片外FLASH,可以直接读取数据,但是写操作时必须进行时序控制。,存储器映射,LPC2000绝大部分存储器单元的地址是在芯片设计生产时就确定的,用户无法修改。 ARM芯片对AHB外设、VPB外设、片内及片外存储器进行统一编址。,AHB和VPB,AHB和VPB外设区域都为2MB,每个外设空间都为16KB,各自分配最多128个外设。 AHB外设挂接在芯片内部AHB总线上,具有较高的速度。 VPB外设挂接在芯片内部VPB总线上,速度相对较低。,预取指中止和数据中止异常,如果试图访问一个保留地址或未分配区域的地址,LPC2000系列ARM将产生预取指中止或数据中止异常。,存储器映射模式,MEMMAP寄存器描述,存储器重映射,定义:为存储器分配地址的过程称为映射,为了增加系统的灵活性,系统中部分存储单元可以同时出现在不同的地址上,即存储器的重映射。重映射通过存储器管理部件实现。 注意:存储器重映射并不是对重映射单元的内容进行了复制,只是将多个地址指向了同一存储单元。 举例:LPC2000系列处理器中Boot Block和异常向量表进行了重映射。,Boot Block,Boot Block是芯片设计厂商在LPC2000系列ARM内部固化的一段代码,用户无法对其修改或删除。 Boot Block在芯片复位后被首先运行。 LPC2200系列芯片的Boot Block为8KB,有的芯片中 Boot Block占用了用户FLASH空间。 Boot Block存在于FLASH的顶部。 没有片内FLASH的芯片也存在Boot Block。,Boot Block的重映射,Boot Block有些程序是可以被用户调用的,为了增加用户代码的可移植性,所以最好能把Boot Block代码固定在某个地址上。由于各芯片片内FLASH大小不同,所以将Boot Block重映射到接近2GB的地方,这样无论片内FLASH地址如何变化, Boot Block地址是不变的。,异常向量表,异常向量表及其重映射,ARM内核发生异常后,会使程序跳转到位于0x000000000x0000001C的异常向量表处,再经过向量表跳转到异常服务程序。 Boot Block 、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年风电变流器行业当前发展趋势与投资机遇洞察报告
- 2025年建筑安装行业当前竞争格局与未来发展趋势分析报告
- 2025年NB-IOT技术行业当前竞争格局与未来发展趋势分析报告
- 支架现浇梁施工培训课件
- 地质工程地质灾害防治知识竞赛题集及答案解析
- 2025年网络安全知识及信息系统故障应急演练培训考核测试题库含答案
- 2025年护士资格考试理论知识复习题库及答案
- 摩托车装备基本知识培训课件
- 2025年社会工作者之初级社会综合能力基础试题库和答案
- 2025年黑龙江省绥化市【国家公务员】公共基础知识预测试题含答案
- 工程例会管理制度
- 企业员工职业道德考核制度
- 公司安全事故隐患内部举报、报告奖励制度
- 产品方案设计模板
- 产科手术麻醉
- 【初中物理】质量与密度练习题 2024-2025学年初中物理人教版八年级上册
- 新时代青年做好新时代使命担当人
- 2-U9C操作培训-MRP运算
- 【上海市塑料探究所企业员工激励机制存在的问题及优化建议探析(论文)8200字】
- 浙教版二年级下册递等式计算题100道及答案
- 安全管理核心制度综合体系华润置地北京
评论
0/150
提交评论