s3c2410中文手册2

preview
需积分: 0 49 下载量 113 浏览量 更新于2008-05-12 收藏 335KB PDF 举报
### S3C2410A处理器工作模式详解 #### 概述 S3C2410A是一款采用ARM920T内核的高性能微处理器,由杭州立宇泰电子有限公司编著的《S3C2410A中文数据手册》详细介绍了其功能与操作方式。本章节主要探讨处理器的工作模式、状态切换、存储空间格式、指令长度以及数据类型和操作模式,旨在为开发者提供深入理解S3C2410A架构的关键信息。 #### 处理器工作状态 S3C2410A基于ARM920T内核,支持两种主要的工作状态: 1. **ARM状态**:在此状态下,处理器执行32位字对齐的ARM指令,这是处理器的主要执行模式。 2. **THUMB状态**:执行16位半字对齐的THUMB指令,这种状态下的指令集更紧凑,适用于代码大小受限的应用场景。 状态的切换并不影响处理器的处理模式或寄存器内容,但可通过特定指令实现状态转换。 #### 切换状态方法 - **进入Thumb状态**:通过执行BX指令并设置操作数寄存器的最低位(状态位0)为1来实现。 - **进入ARM状态**:同样地,通过执行BX指令,但此次将操作数寄存器的状态位0清零。 - **异常处理后的状态**:如果在进入异常处理前处理器处于Thumb状态,则在异常处理后自动返回Thumb状态;若为ARM状态,则保持不变。 #### 存储空间格式 S3C2410A处理器将存储器空间视为线性的字节集合,从0开始,每个字由连续的四个字节组成。处理器支持小端(Little endian)和大端(Big endian)两种字节序: - **大端格式**:高字节存储在较低的地址中,低字节存储在较高的地址中。 - **小端格式**:与大端相反,低字节存储在较低的地址,高字节存储在较高的地址。 #### 指令长度与数据类型 - **指令长度**:ARM状态下为32位,THUMB状态下为16位。 - **数据类型**:支持字节(8位)、半字(16位)和字(32位)。字必须4字节对齐,半字需2字节对齐。 #### 操作模式 S3C2410A支持七种操作模式,每种模式对应不同的应用场景和权限级别: 1. **用户模式(User Mode)**:标准的应用执行模式。 2. **快速中断模式(FIQ Mode)**:用于高速数据传输或通道处理。 3. **中断模式(IRQ Mode)**:处理常规中断。 4. **超级用户模式(SVC Mode)**:操作系统的保护模式。 5. **异常中断模式(ABT Mode)**:处理数据访问错误。 6. **系统模式(SYS Mode)**:操作系统使用的特权模式。 7. **未定义模式(UND Mode)**:执行未定义指令时进入。 外部中断、异常操作或软件控制可以改变处理器的操作模式,大多数应用程序在用户模式下运行,而特权模式用于处理中断和异常或操作保护资源。 #### 寄存器 ARM处理器包含37个32位寄存器,分为31个通用寄存器和6个状态寄存器。在ARM状态下,程序员可以看到16个通用寄存器(R0-R15)和1或2个状态寄存器。寄存器的可见性取决于处理器的当前状态和模式,例如,在特权模式下,会有模式专用的私有寄存器组。R14通常作为链接寄存器,用于保存调用子程序之前的指令地址,而R15作为程序计数器(PC),指示下一条指令的位置。 掌握S3C2410A的这些核心特性对于开发基于此处理器的嵌入式系统至关重要,有助于优化代码效率和系统性能。