s3c2440芯片中文手册2

上传人:枫** 文档编号:491698922 上传时间:2023-07-08 格式:DOC 页数:14 大小:478KB
返回 下载 相关 举报
s3c2440芯片中文手册2_第1页
第1页 / 共14页
s3c2440芯片中文手册2_第2页
第2页 / 共14页
s3c2440芯片中文手册2_第3页
第3页 / 共14页
s3c2440芯片中文手册2_第4页
第4页 / 共14页
s3c2440芯片中文手册2_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《s3c2440芯片中文手册2》由会员分享,可在线阅读,更多相关《s3c2440芯片中文手册2(14页珍藏版)》请在金锄头文库上搜索。

1、S3C2440A数据手册保定飞凌嵌入式技术有限公司马志晶第二章处理器工作模式2.1概述S3C2440采用了非常先进的 ARM920T内核,它是由 ARM(Advaneed RISC Mach in es)公司研制的。2.2处理工作状态从程序员的角度上看,ARM920T可以工作在下面两种工作状态下的一种: ARM状态:执行 32位字对齐的ARM指令 THU MB犬态:执行 16位半字对齐的 THUM指令。在这种状态下,PC寄 存器的第一位来选择一个字中的哪个半字注意;这两种状态的转换不影响处理模式和寄存器的内容。2.3切换状态进入THUMB犬态进入THU MB犬态,可以通过执行BX指令,同时将操

2、作数寄存器的状态位(0位)置1来实现。当从异常(IRQ,FIQ,UNDEF,ABORT,SWI等)返回时,只要进入异常处理前 处理器处于THU MB犬态,也会自动进入 THU MB犬态。进入ARM犬态进入ARM犬态,可以通过执行 BX指令,并且操作数寄存器的状态位(0 位) 清零来实现。当处理进入异常(IRQ,FIQ,RESET,UNDEF,ABORT,SWI等)。这时,PC值保持 在异常模式下的link寄存器中,并从异常向量地址处开始执行处理程序。存储空间的格式ARM920T将存储器空间视为从 0开始由字节组成的线性集合,字节 0到3 中保存了第一个字节, 字节4到7中保存第二个字,以此类推

3、,ARM920T对存储 的字,可以按照小端或大端的方式对待。大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,因此字节0存储在数据的24到31行里高地址 3124 2316 158_70 字地址89101145670123低地址 大多数重要的字节在低地址处 字的地址是在大多数重要的字节的字节地址处的图2-1以大端格式存储字数据小端格式:与大端格式相反,在小端存储格式中, 低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。高地址 3124 2316 15870 字地址+11109876543210低地址 少数重要的地址是在低地址处字的地址是在少数

4、重要的字节的字节地址处的图2-2以小端格式存储字数据2.4指令长度指令可以是32位长度(在ARM状态下)或16位长度(在THUMB状态) 数据类型ARM920T支持字节(8位),半字(16位)和字(32位)数据类型。字必须按照4字 节对齐,半字必须是 2字节对齐。2.5操作模式ARM920T支持7种操作模式:用户模式(user模式),运行应用的普通模式快速中断模式(fiq模式),用于支持数据传输或通道处理中断模式(irq模式),用于普通中断处理超级用户模式(svc模式),操作系统的保护模式异常中断模式(abt模式),输入数据后登入或预取异常中断指令系统模式(sys模式),使操作系统使用的一个有

5、特权的用户模式未定义模式(und模式),执行了未定义指令时进入该模式外部中断,异常操作或软件控制都可以改变中断模式。大多数应用程序都是在用户模式下进行,进入特权模式是为了处理中断或异常请求或操作保护资源服 务的。2.6寄存器ARM共有37个32位的寄存器,其中31个是通用寄存器,6个是状态寄存 器。但在同一时间,对程序员来说并不是多有的寄存器都可见。在某一时刻存储器是否可见,是由处理器当前的工作状态和工作模式决定的。ARM状态寄存器在ARM状态下,任何时刻都可以看到16个通用寄存器,1个或2个状态寄存器。 在特权模式(非用户模式)下会切换到具体模式下的寄存器组,其中包括模式专用的私有(bank

6、ed)寄存器。图2-3显示了在每个模式下哪种寄存器是可见的; 私有寄存器上都有一个黑三角标记。ARM状态寄存器系列中含有 16个直接操作寄存器:R0到R15。除了 R15外其 他的都是通用寄存器,可用来存放地址或数据值。除此之外,实际上有 17个寄存器用来存放状态信息。寄存器14专职持有返回点的地址,在系统执行一条“跳转并链接”(BL)指令的时候,R14将收到一个R15的拷贝。其他时候,它可以用作一 个通用寄存器。相应的私有寄存器R14_svc, R14_irq, R14_fiq,R14_abt和R14_und都同样用来保存在中断或异常发生时,或在中 断和异常时执行了 BL指令时,R15的返回

7、值。寄存器15这个寄存器是程序计数器(PC)。在ARM状态下,R15的bits1:0为0,bist31:2保存了 PC的值。在Thumb状态下,bits0为0同时bits31:1保存了 PC值。寄存器16这个寄存器是CPSR(当前程序状态寄存器),用来保存当前代码标 志和当前模式位。FIQ模式拥有7个私有寄存器R8-14(R8_fiq-R14_fiq)。在ARM状态下,多数FIQ处理都不需要保存任何寄存器。用户、中断、异常中止,超级用户和未定义模式都拥有2个私有寄存器,R13和R14。允许这些模式都可拥有1个私有堆栈指针和#2007.9.6S3C2440A数据手册保定飞凌嵌入式技术有限公司马志

8、晶链接寄存器。ARM状态卜奇存器卑系统和用户超级涉户异常中止R0FUR2R3R4R5R6R7RBR9R10R11|R12R13R14R15(PC)RDR1I R2IR3R4R5R6R7卜 RLfiq卜 R9jk?LRlOjiqhRnjiqlkRl3_flq IR15PC)FROROR1R1R2R2R3R3.R4R4R5R5R6R6R7R7RBR9R9F!9IRWR10R11R71R22lR3 svcL陶少tR W:P5(PCyIRQR3R1R2IR3R4R5R6R7RER9R1DR11R12fcRl3_und IfRl4_undR15PC)未定义#2007.9.6S3C2440A数据手册保定飞

9、凌嵌入式技术有限公司马志晶#2007.9.6S3C2440A数据手册保定飞凌嵌入式技术有限公司马志晶ARI状态F三手北态寄存器CPSRCPSkCP塹GPSRCPSR#2007.9.6S3C2440A数据手册保定飞凌嵌入式技术有限公司马志晶#2007.9.6S3C2440A数据手册保定飞凌嵌入式技术有限公司马志晶图2-3 ARM状态下的寄存器结构THUMB 状态寄存器THUMB状态寄存器是 ARM状态寄存器的一个子集。程序员可以直接操作 8个通用寄存器R0-R7,同样可以这样操作程序计数器(PC),堆栈指针寄存器(SP),链接寄存器(LR),和CPSR。它们都是各个特权模式下的私有寄存器,链接寄

10、存 器和程序状态寄存器(SPSRs)。如图2-4系统和闲户FQ超级中止未定工CPSRCFSRH %IITHDIB狀态下程舟事疔右CFSRgPSR md4Thb7-::.:;ARM 和THUMB 状态寄存器间的关系: THUMB 状态下 R0-R7和ARM 状态下 R0-R7是等同的 THUMB 状态下 CPSRs禾口 SPSRs跟ARM 状态的CPSR禾口 SPSRs是等 同的 THUMB 状态下的SP映射在 ARM 状态下得 R13上 THUMB 状态下的 LR映射在 ARM 状态下得 R14上 THUMB 状态下程序计数器映射在ARM 状态下的程序计数器上 (R15)图2-5显示了它们的关

11、系:RDR1R2R3R4R5R& P?RbR9RXI2lh k register (R14)CPSRSPSR2-5THUMBSMRMtt态下寄存器Z働的映射关系在THUMB状态下访问高地址寄存器在THUMB状态下寄存器 R8-15(高地址寄存器)不是标准寄存器集。但是, 汇编语言的程序员可以访问它们并用它们作快速暂存。采用MOV指令的某个变型,从 R0-R7 (低地址寄存器)的某个寄存器传送数据到达高地址寄存器,或者从高地址寄存器传送到低地址寄存器。还可以采用CMP和ADD指令,将高地址寄存器的值与低地址寄存器的值进行比较或相加。 想获得这方面更多的信息,请参考图3-34。2.7程序寄存器状态

12、ARM920T具有一个当前程序状态寄存器(CPSR,另外还有5个保存程序状态寄存器(SPSRS用于异常中断处理。这些寄存器的功能有:保留最近完成的 ALU操作的信息控制中断的使能和禁止设置处理器的操作模式下图2-6显示了程序状态寄存器的位定义:1302912812726252423117654321I科1CV* jf1FTIWM3M2M1Mt)状奇码飙覆式位 状态应FH)中止I即中止逵出负的/小于2.7.1条件码标志N Z、CV均为条件码标志位。它们的内容根据算术或逻辑运算的结果所改 变,并且来作为一些指令是否运行的检测条件。在ARM犬态下,绝大多数指令都是有条件执行的,详情请看表3-2 ;在

13、Thumb状态下,仅有分支指令是有条件执行的,详情请看图3-46。2.7.2控制位PRS的低8位(包括I、F、T、M4:0)称为控制位,当发生异常时这些位将 被改变。如果处理器工作在特权模式下,这些位也可以由软件操纵。T标记位该位反映处理器的运行状态。该位被设置为1时,处理器执行在THUM状态,否则执行在 ARM犬态,这些由外部信号 TBIT反映出 来。注意:软件决不能改变CPSR的TBIT状态。如果这样做,处理器将会进入一种不可预知的状态。中断禁止位I、F位为中断禁止位,当它们被设置成1时可以相应的禁止IRQ和FIQ中断。模式位M4,M3,M2,M1禾口 M0位(M4:0)是模块位,它们决定了处理器的操 作模式,如下表 2-7所示。并不是所有的模块组合位都决定一个 有效的处理器模式,只有那些明确地描述值才能被使用,用户必 须意识到任何一种非法的值写入模块位,处理器都会进入到一种 不可重获的状态,如果这种情况发生,就要进行复位。保留位PSR中的其余位为为保留位,当改变PSR中的位或者控制位时,必须确保保

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

当前位置:首页 > 建筑/环境 > 施工组织

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