单片机与嵌入式系统基础 邱春玲 李肃义chapter7

上传人:E**** 文档编号:89108466 上传时间:2019-05-18 格式:PPT 页数:84 大小:2.07MB
返回 下载 相关 举报
单片机与嵌入式系统基础 邱春玲 李肃义chapter7_第1页
第1页 / 共84页
单片机与嵌入式系统基础 邱春玲 李肃义chapter7_第2页
第2页 / 共84页
单片机与嵌入式系统基础 邱春玲 李肃义chapter7_第3页
第3页 / 共84页
单片机与嵌入式系统基础 邱春玲 李肃义chapter7_第4页
第4页 / 共84页
单片机与嵌入式系统基础 邱春玲 李肃义chapter7_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《单片机与嵌入式系统基础 邱春玲 李肃义chapter7》由会员分享,可在线阅读,更多相关《单片机与嵌入式系统基础 邱春玲 李肃义chapter7(84页珍藏版)》请在金锄头文库上搜索。

1、第七章 ARM嵌入式处理器,7.1 ARM处理器 7.2 ARM处理器的体系结构 7.3 STM32F103微控制器 7.4 STM32F10x固件库简介与应用举例,教学目的和要求,了解ARM处理器的种类,ARM处理器的工作模式、寄存器结构、异常处理的概念; 了解STM32微控制器的基本结构; 了解STM32 固件库的使用方法; 了解在MDK开发环境下开发STM32程序的方法。,ARMAdvance RISC Machine ARM32位RISC结构IP核提供商,位于英国剑桥的ARM总部,7.1 ARM处理器简介,成立于1990年11月 前身为 Acorn计算机公司 Acorn RISC Ma

2、chine Advance RISC Machine(ARM) 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴 ARM 公司不生产芯片 知识产权IP(Intelligence Property) 提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件 总线架构, 外围设备单元等,ARM是知识产权(IP)供应商,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,低能耗:ARM架构的能效比优势非常明显。 应用方案非常灵活:由于ARM公司只是提供了一个高效精简的核心,各半导体厂商可根据自身需求进行应用设计,架构灵活简便、扩展力很强。 得到大量的

3、软件支持:包括Windows CE、Symbian和Palm OS在内的三种手持设备操作系统系统都是基于ARM架构所设计。 目前,ARM已经牢牢占领手机、PDA以及其他的掌上电子产品市场,ARM在这些领域会继续保持优势。,ARM处理器的技术优势,ARM处理器核: 由高到低: Cortex-A57、Cortex-A53、Cortex-A15、Cortex-A12、Cortex-A9、Cortex-A8、Cortex-A7、Cortex-A5、ARM11、ARM9、ARM7处理器。,ARM处理器特点 (1)支持Thumb(16位)/ARM(32位)双指令集,兼容8位/16位器件; (2)指令执行采

4、用流水线/技术; (3)带有指令Cache和数据Cache,大量使用寄存器,指令执行速度更快; (4)支持大端格式和小端格式两种方法存储字数据;,端模式(Endian):源自格列佛游记 不同的计算机存放多字节值的顺序不同,有些机器低位先存,即小端模式;有的机器高位先存,即大端模式。 16bit宽的数0x1234在Little-endian模式(以及Big-endian模式)CPU内存中的存放方式为: 内存地址 小端模式 大端模式 0x4000 0x34 0x12 0x4001 0x12 0x34,(5)支持Byte(字节,8位)、Halfword(半字,16位)和Word(字,32位)三种数据

5、类型; (6)支持用户、快中断、中断、管理、中止、系统和未定义等7种处理器模式,除了用户模式外,其余的均为特权模式;,(7)处理器芯片上都嵌入了在线仿真ICE-RT逻辑,便于通过JTAG来仿真调试;在处理器核中还可以嵌入跟踪宏单元ETM,用于监控内部总线,实时跟踪指令和数据的执行; (8)具有片上总线AMBA(Advanced Micro-controller Bus Architecture)。通过AMBA可以方便地扩充各种处理器及I/O,可以把DSP、其他处理器和I/O都集成在一块芯片中。,1. RISC结构 精简指令集计算机RISC(Reduced Instruction Set Com

6、puter)体系结构是在复杂指令集计算机CISC (Complex Instruction Set Computer)的基础上产生并发展起来的;,7.2 ARM处理器的体系结构,7.2.1 嵌入式微处理器的体系结构,RISC通过简化指令系统使计算机的结构更加简单合理,运算效率更高; RISC体系结构优先选取使用频率最高的简单指令,避免复杂指令; 指令长度固定,指令格式和寻址方式种类减少; 以控制逻辑为主,不用或少用微码控制等,RISC已经成为当前计算机发展不可逆转的趋势。,RISC体系结构的特点: (1)采用固定长度的指令格式,基本寻址方式有23种。 (2)使用单周期指令,便于流水线操作执行。

7、 (3)大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。,ARM体系结构在保证高性能的前提下尽量缩小芯片的面积,并降低功耗,采用以下技术: 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率; 可用加载/存储指令批量传输数据,以提高数据的传输效率; 可在一条数据处理指令中同时完成逻辑处理和移位处理; 在循环处理中使用地址的自动增减来提高运行效率。,2. 哈佛(Harvard)结构 哈佛结构主要特点是程序存储器和数据存储器相互独立,独立编址、独立访问。 系统中分离的程序总线和数据总线可允许在一个机器周期内同时获取指令和操

8、作数,从而提高了执行速度及数据的吞吐率。 取指和执行能完全重叠,具有较高的执行效率。,3. 流水线技术 是将一个重复的时序分解成若干个子过程,而每个子过程都可以有效地在其专用功能段上与其它子过程同时执行。 指令流水线就是将一条指令分解成一连串执行的子过程。 ARM7为三级流水线, ARM9为五级流水线, ARM10为六级流水线, ARM11为八级流水线 。,Cycle,Operation,ADD,SUB,ORR,AND,EOR,ORR,1,2,3,4,5,6,7,8,9,F,D,E,F,D,E,F,E,F,D,E,F,D,E,F,D,E,W,M,F 取指 D 解码 E 执行,该例中用6个时钟周

9、期执行了6条指令,所有的操作都在寄存器中(单周期执行),指令周期数 (CPI) = 1,F,F,F,F,F,F,F,F,D,D,D,D,D,E,E,E,E,E,流水线技术,ARM7的3级流水线 : 取指级-译码级 -执行级,7.2.2 ARM微处理器工作模式及状态,ARM处理器核可以工作在以下2种状态 ARM状态 32位,ARM状态下执行字对准的32位ARM指令; Thumb状态 16位,Thumb状态下执行半字对准的16位Thumb指令。,7.2.3 ARM寄存器,31个通用寄存器 R0-R15; R13_svc、R14_svc; R13_abt、R14_abt; R13_und、R14_u

10、nd; R13_irq、R14_irq; R8_frq-R14_frq。 6个状态寄存器 CPSR; SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq,7.2.4 ARM微处理器的异常处理 在一个正常的程序流程执行过程中,由内部或外部源产生的一个事件使正常的程序产生暂时的停止时,称之为异常。 在处理异常之前,当前处理器的状态必须保留,当异常处理完成之后,恢复保留的当前处理器状态,继续执行当前程序。 多个异常同时发生时,处理器将会按固定的优先级进行处理。,1. 异常处理分类 ARM体系结构支持7种类型的异常,异常类型、异常处理模式和优先级如表所示。,1)、

11、进入异常 当发生异常时,除了复位异常立即中止当前指令外,处理器尽量完成当前指令,然后脱离当前的程序去处理异常。ARM处理器对异常中断的响应过程如下 :,2. ARM异常中断响应过程,(1)、保存返回地址 将引起异常指令的下一条指令的地址保存,使异常处理程序执行完后能正确返回原程序。 (2)、保存当前状态寄存器CPSR的内容 将CPSR的内容保存到将要执行的异常中断对应的SPSR中,便于中断返回时恢复处理器当前的状态位、中断屏蔽位以及各条件标志位。,(3)、设置当前状态寄存器CPSR中的相应位 包括使处理器进入相应的执行模式,禁止IRQ中断等。 (4)、转去执行中断处理程序 取相应的中断向量给程

12、序计数器PC,使程序开始执行中断处理程序。 通常矢量地址处将包含一条指向相应程序的转移指令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序 。,2)、异常返回 (1)、异常返回应执行的操作 异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回: 将返回地址装入PC 。 恢复CPSR的值。 清除中断屏蔽位。 可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。,(2)、各种异常返回方法 FIQ中断返回 无论是在ARM状态还是在Thumb状态下进入FIQ模式,FIQ处理程序均可以执行以下指令从FIQ模式返回: SUBS PC,R14-fiq ,#4

13、指令预取中止( Abort )异常返回 当处理器试图执行无效指令时,指令预取中止异常才会发生。如果发生了指令预取中止异常,无论是在ARM状态还是Thumb状态,其返回指令为: SUBS PC, R14_abt, #4;重新执行被中止的指令,未定义指令异常返回 当ARM处理器遇到不能处理的指令时,会产生未定义指令异常。采用这种机制,可以通过软件仿真扩展ARM或Thumb指令集。 处理器执行以下程序返回,无论是在ARM还是Thumb状态:MOVS PC, R14_und,7.2.5 ARM支持的数据类型和存储模式 1. ARM支持的数据类型 (1)字:在ARM体系中,每个字的长度是32位,占4个字

14、节的存储单元,而在8/16位处理器中字长一般是16位。 (2)半字:在ARM体系中,半字的长度是16位,占2个字节的存储单元。 (3)字节:在ARM体系中,每个字节的长度是8位,占一个存储单元,这与8/16位处理器中字节的长度是一样的。,2). ARM支持的存储模式 最小的可寻址的存储器单位为一个字节。一个字节对应一个唯一的地址,所有地址的集合称为存储器空间。 对于一个多字节类型的数据,在存储器中有两种数据存放方法: 一种是低字节数据存放在内存低地址处,高字节数据存放在内存高地址处,称为小端字节顺序存储法; 另一种是高字节数据存放在低地址处,低字节数据存放在高地址处,称为大端字节顺序存储法。,

15、7.3 STM32F103微控制器,重要的参考资料 1、Cortex-M3权威指南 宋岩译 权威资料的精简版,思路清晰,有条理,适合学Cortex-M3处理器的所有人。 2、STM32技术参考手册 a)STM32微控制器产品的技术参考手册是讲述如何使用该产品的; b)包含各个功能模块的内部结构、所有可能的功能描述、各种工作模式的使用和寄存器配置等详细信息。,3、STM32F103RB数据手册 a)产品的基本配置(内置FLASH和RAM的容量、外设模块的种类和数量等); b)管脚的数量和分配,电气特性,封装信息和订购代码等。 4、STM32开发板手册与开发板配套的参考资料,有很多经验值得借鉴。,

16、5、stm32固件库 a)相关定义,文档约定和固件库规则; b)库的架构,安装指南及使用实例; c)每个外围模块的函数及解释。 6、开发板原理图 必不可少的硬件电路参考。 7、网络资源。,必要的学习步骤 1、了解Cortex-M3内核 参考Cortex-M3权威指南。 2、认识STM32F103RBT6处理器 a)了解STM32F10xxx技术参考手册与数据手册; b)了解STM32F10xxx技术参考手册第二章存储器和总线构架,需要了解外设时,再具体查看具体的功能模块; c)芯片选型初期看数据手册以评估该芯片是否能满足功能需求;,d)基本选定芯片后就需要查看技术参考手册以确定各功能模块的功能是否符合要求; e)确定芯片型号,进入编程阶段后需要详细阅读技术参考手册以获知各项功能的具体实现方式和寄存器的配置使用; f)在设计硬件时还需要参考数据手册以获得电压、电流、管脚分配、驱动能力等信息。 3、了解开发板原理图 参考开发板原理图,了解可支配的资源。 4、了解库的结构与使用 参考S

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号