基于ARMTDMI的SCBX嵌入式微处理器技术

上传人:ji****72 文档编号:56892239 上传时间:2018-10-16 格式:PPT 页数:67 大小:295.50KB
返回 下载 相关 举报
基于ARMTDMI的SCBX嵌入式微处理器技术_第1页
第1页 / 共67页
基于ARMTDMI的SCBX嵌入式微处理器技术_第2页
第2页 / 共67页
基于ARMTDMI的SCBX嵌入式微处理器技术_第3页
第3页 / 共67页
基于ARMTDMI的SCBX嵌入式微处理器技术_第4页
第4页 / 共67页
基于ARMTDMI的SCBX嵌入式微处理器技术_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《基于ARMTDMI的SCBX嵌入式微处理器技术》由会员分享,可在线阅读,更多相关《基于ARMTDMI的SCBX嵌入式微处理器技术(67页珍藏版)》请在金锄头文库上搜索。

1、第2章 S3C44B0X微处理器 组成及编程模式,本章重点 :, S3C44B0X微处理器的组成; S3C44B0X系统管理的特点; S3C44B0X引脚信号含义; S3C44B0X特殊功能寄存器; ARM7TDMI核的组成; ARM7TDMI指令系统特点和编程模式。,2.1 S3C44B0X微处理器概述,嵌入式微处理器S3C44B0X中集成了ARM公司的ARM7TDMI核,这个核也称为CPU单元,此外还集成了边界扫描控制器等多个功能模块(也称模块、单元)。S3C44B0X中有2条总线,即系统总线和外设总线。通过系统总线,将CPU单元、电源管理模块(含时钟发生器)、存储器控制器、LCD控制器、

2、中断控制器和2通道ZDMA连接在一起。总线仲裁器对系统总线上的总线请求进行仲裁。通过外设总线,将AD转换器、看门狗定时器、RTC、通用IO控制器(GPIO)、IIC总线控制器、IIS总线控制器、UART、SIO、PWM等连接在一起。系统总线与外设总线通过系统总线桥与仲裁2通道BDMA连接在一起。详见图2.1。,2.2 S3C44B0X微处理器组成,2.2.1 S3C44B0X微处理器组成与系统管理特点 S3C44B0X微处理器组成 S3C44B0X组成框图见图2.1。(P18),在S3C44B0X中提供了如下模块: 存储器控制器 Cache存储器与内部SRAM(共8KB) LCD控制器 DMA

3、控制器 UART控制器 多主IIC总线控制器, IIS总线控制器 PWM定时器和内部定时器 看门狗定时器 通用IO端口控制器(GPIO) 功耗管理模块与时钟发生器 AD转换器 实时时钟模块 中断控制器 SIO,另外: 操作电压 内核2.5V,IO 3.0V到3.6V。 操作频率 最高到66MHz。 封装 160 LQFP或160 FBGA。, S3C44B0X系统管理特点 支持大端小端格式; 存储器寻址空间支持每个bank大小为32MB,全部为256MB; 对每个bank,支持可编程的81632位数据总线; 在8个banks中,有1个bank起址和bank大小可编程;其余7个banks起址固定

4、,banks大小可编程; 在8个banks中,支持6个banks使用ROM、SRAM类型芯片,支持2个banks使用ROMSRAMDRAM(FPEDOSDRAM)类型芯片;,对全部存储器banks,存取周期可编程; 支持外部等待信号,可以扩展总线周期; 在节电模式,支持DRAMSDRAM自我刷新方式; 对DRAM,支持对称非对称地址方式,即动态存储器芯片行地址和列地址可以等长也可以不等长; 支持存储器寻址空间与IO寻址空间统一编址方式。,2.2.2 引脚信号描述 S3C44B0X微处理器封装形式 S3C44B0X微处理器采用2种封装形式,160LQFP和160FBGA形式。160LQFP封装形

5、式见图2.2。(P22), S3C44B0X微处理器各引脚信号描述 S3C44B0X的160个引脚中,有71个引脚可以通过编程的方法,定义为多功能输入输出引脚。这71个引脚被分成A、B、C、D、E、F和G端口。例如,端口A可以定义为输出端口,或定义为地址总线ADDR24ADDR16和ADDR0。在Reset后,默认值是地址总线ADDR24ADDR16和ADDR0,之后可以重新定义端口A的功能,详见第8章IO端口。对这些端口,以下引脚信号的描述仅仅是针对Reset后,没有重新定义的端口默认信号。除这71个引脚外,其余引脚功能是单一的。,S3C44B0X微处理器各引脚信号描述见表2.1。 (见参考

6、书P23-25),2.2.3 特殊功能寄存器简介 特殊功能寄存器(Special Function Registers,SFR),有时也称特殊寄存器或专用寄存器。占用存储器地址空间为0x01C000000x01FFFFFF,共4MB。这些寄存器的含义和功能将在第4章以后的各章中分别介绍,附录A列出了全部特殊功能寄存器的一个汇总简表。,2.3 ARM7TDMI核,2.3.1 指令流水线、存储器访问和存储器接口 指令流水线 ARM7TDMI核使用了三级流水线结构,在通常情况下,每条指令以取指、译码和执行三级,通过流水线。 存储器访问和存储器接口 ARM7TDMI核采用冯诺依曼结构,使用单一的32位

7、数据总线传送指令和数据。只有装入、存储和交换三种指令才能从存储器存取数据。,数据可以是: 8位(字节); 16位(半字); 32位(字)。 字必须以4字节边界对齐,半字必须以2字节边界对齐。,2.3.2 ARM7TDMI指令系统特点 S3C44B0X微处理器中含有ARM7TDMI核,使用的指令系统就是ARM7TDMI的指令系统。ARM7TDMI有2种指令集:32位的ARM指令集和16位的Thumb指令集。 ARM指令集的主要特点有:所有的指令都是32位定长,便于译码和流水线实现,并且在内存中以4字节边界地址对齐保存;只有 LOAD-STORE类型的指令才可以访问内存;所有的指令都可以条件执行;

8、使用了桶型(barrel)移位器,可以在一个指令周期内完成移位操作和ALU(算术逻辑)操作。,Thumb指令集虽然是一个16位的指令集,但是能够在32位结构的ARM7TDMI处理器上运行。Thumb指令集执行效率比传统的16位结构的处理器更有效,也比32位结构的处理器有更高的代码密度。Thumb指令集是32位ARM指令集中最常用的指令功能上的一个子集。Thumb指令有效果相同的32位ARM指令对应。,Thumb指令使用了32位核的全部优点: 32位地址空间; 32位寄存器; 32位移位器和ALU单元; 32位存储器传送器。,2.3.3 ARM7TDMI组成 ARM7TDMI组成 ARM7TDM

9、I组成框图见图2.4。 图2.4 ARM7TDMI处理器组成框图,ARM7TDMI从功能上可以分为三部分,一部分是ARM7TDMI主处理器逻辑,在稍后介绍。另一部分是附加在ARM7TDMI主处理器上的用于调试硬件和软件的电路,这部分电路由Embedded ICE逻辑、测试访问端口控制器(Test Access Port controller,TAP)和三条扫描链组成。还有一部分是总线拆分器,将处理器内部的数据总线拆分成外部双向D31:0、单向输入DIN31:0和单向输出DOUT31:0数据总线。,与ARM7TDMI调试相关的标准以及图2.4中相关模块介绍如下: JTAG(Joint Test

10、Action Group) Embedded ICE(Embedded In_Circuit Emulater)逻辑 TAP controller 扫描链(scan chain), ARM7TDMI主处理器 ARM7TDMI主处理器组成见图2.5,相关信号含义见附录B。(见参考书P29) ARM7TDMI主处理器功能与通用CPU基本相同,由运算器和控制器组成。 运算器主要包括32位算术逻辑单元、Barrel移位器、32*8位硬件乘法器,以及31个32位通用寄存器和6个32位状态寄存器;另外还有地址寄存器和地址增量器等。 控制器主要由指令译码器和逻辑控制单元组成。此外,图中还有指令流水线、读数据

11、寄存器和Thumb指令控制器、写数据寄存器以及扫描控制单元。, ARM7TDMI处理器信号分组 ARM7TDMI处理器信号分组见图2.6。图中各信号含义见附录B。(见参考书P30、358-360) 图2.6中按照不同的功能,对ARM7TDMI处理器的信号进行了分组,功能相同的信号分为一组,图中有些信号在后续章节会用到。,2.4 ARM7TDMI编程模式,2.4.1 编程模式与处理器操作状态 编程模式 ARM7TDMI处理器核实现了ARM v4T结构,包含32位ARM指令集和16位Thumb指令集。v4T结构支持对芯片的调试,允许处理器响应调试请求暂停;处理器内含有32*8位硬件乘法器;支持嵌入

12、式ICE硬件提供片上断点和调试点。, 处理器操作状态 ARM7TDMI处理器的2种操作状态: ARM状态,在这种状态执行32位的、字边界对齐的ARM指令。 Thumb状态,在这种状态执行16位的、半字边界对齐的Thumb指令。 在Thumb状态,程序计数器PC使用bit1来选择切换半字。 在ARM和Thumb之间转换状态,不影响处理器操作方式或寄存器内容。, 转换状态 使用ARM指令集的BX指令可以从ARM状态转换到Thumb状态,使用Thumb指令集的BX指令可以从Thumb状态转换到ARM状态。 无论处理器在ARM状态或Thumb状态,发生了异常,进入异常处理程序处理器一定是在ARM状态。

13、如果一个异常在Thumb状态出现,处理器要转换到ARM状态,异常处理完返回时自动转换回Thumb状态。,刚进入异常处理程序后处理器处在ARM状态,如果需要,异常处理程序能够转换到Thumb状态,但是异常处理程序结束前,处理器必须转换到ARM状态,在ARM状态才允许异常处理程序正确的终止。,2.4.2 存储器格式和数据类型 存储器格式 ARM7TDMI处理器允许使用大、小端格式,它能够对存储在存储器中的字以大端或小端格式访问。缺省格式是小端格式。 大端或小端格式是指一个字数据中的4个字节数据,必须被放在字边界对齐的存储器地址A开始的连续4个字节地址单元之中的什么位置。 在数据以字存放在存储器中,

14、而以字节或半字访问时,对CPU被配置为大端或小端格式要特别注意。, 小端格式 在小端格式,处理器寄存器中的32位二进制数用bit31:0表示,其中bit31为最高位,bit0为最低位,分为4字节,bit31:24为数据的最高字节,bit7:0为数据的最低字节。当寄存器的内容以字格式保存在字边界对齐的存储器地址A中时,存储器4个地址中保存的字节数据与寄存器bit31:0的对应关系见图2.7。 (见参考书P32),例如,寄存器R0中保存的16进制数是0x12345678,最高2位数是0x12,最低2位数是0x78。如果以字方式存R0的内容到字边界对齐的存储器地址A中,那么字节地址A中存放的数是0x

15、78,地址A+1中存放的数是0x56,地址A+2中存放的数是0x34,地址A+3中存放的数是0x12。, 大端格式 在大端格式,当寄存器的内容以字格式保存在字边界对齐的存储器地址A中时,存储器4个地址中保存的字节数据与寄存器bit31:0的对应关系见图2.8。(见参考书P32) 例如,寄存器R0中保存的16进制数是0x12345678,最高2位数是0x12,最低2位数是0x78。如果以字方式存R0的内容到字边界对齐的存储器地址A中,那么字节地址A中存放的数是0x12,地址A+1中存放的数是0x34,地址A+2中存放的数是0x56,地址A+3中存放的数是0x78。, 数据类型 ARM7TDMI处

16、理器支持三种数据类型: 字,32位; 半字,16位; 字节,8位。 所谓的边界对齐必须遵循: 字数据必须以4字节为边界对齐存取; 半字数据必须以2字节为边界对齐存取; 字节数据可以在任意字节地址中存取。 存储器系统支持上述三种数据类型的存取。,2.4.3 处理器操作方式 ARM7TDMI处理器有7种操作方式,见表2.2。 方式的改变可以在软件控制下改变,也可以由外部中断或者由异常处理带来改变。除了用户方式,其他几种方式都被称为特权方式。特权方式用于为中断或异常(exception)服务,或访问受保护的资源。,表2.2 处理器7种操作方式,2.4.4 寄存器 ARM7TDMI共有37个寄存器。其中:31个是32位的通用寄存器,6个是32位的状态寄存器。 在同一时间内这37个寄存器不是全部都可以存取的。处理器操作状态(ARM或Thumb)和操作方式(用户、中断等7种)确定哪些寄存器对程序员是可存取的。,

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

当前位置:首页 > 行业资料 > 其它行业文档

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