《飞思卡尔ColdFire编程参考手册》提供了详尽的文档和教程,旨在帮助开发者掌握ColdFire微处理器架构及其实用编程技巧,专为使用Freescale产品的工程师设计。
### 飞思卡尔中文资料(Freescale)-ColdFire编程参考手册
#### 一、绪论
本章节主要介绍了ColdFire处理器的编程基础,包括不同的编程模式、寄存器架构以及数据格式等内容。
##### 1.1 整型单元用户编程模式
在整型单元用户编程模式下,ColdFire处理器提供了以下几种关键的寄存器:
- **数据寄存器(D0-D7)**:这些寄存器用于存储整数数据,并且可以作为源或目标参与各种算术和逻辑运算。
- **地址寄存器(A0-A7)**:用于存储内存地址,常用于寻址操作。
- **程序计数器(PC)**:指示当前正在执行的指令的位置,通常在指令执行完成后会自动更新。
- **条件码寄存器(CCR)**:用于存储指令执行后的状态信息,如零标志、进位标志等。
##### 1.2 浮点单元用户编程模式
在浮点单元用户编程模式下,ColdFire处理器提供了一套独立于整数单元的浮点处理机制,主要包括:
- **浮点型数据寄存器(FP0-FP7)**:专门用于存储浮点数。
- **浮点型状态寄存器(FPSR)**:记录浮点运算的状态信息,如溢出、无效操作等。
- **浮点型指令地址寄存器(FPIAR)**:用于浮点指令的地址计算。
此外,还详细介绍了MAC(乘法累加器)的用户编程模型,其中包括MAC状态寄存器、MAC累加器和MAC掩码寄存器等组件。
##### 1.3 MAC的用户编程模型
MAC是ColdFire处理器中的一个重要组成部分,主要用于高效地执行乘法累加运算。其用户编程模型包括:
- **MAC状态寄存器(MACSR)**:控制MAC的操作模式和状态。
- **MAC累加器(ACC)**:用于存储中间乘法累加的结果。
- **MAC掩码寄存器(MASK)**:用于控制MAC操作的细节。
##### 1.4 EMAC用户编程模型
EMAC(Extended MAC)是ColdFire的一个增强版本,提供了更多的功能和更高的性能。其用户编程模型包括:
- **MAC状态寄存器(MACSR)**:与MAC相似,但可能提供更多或更细致的控制选项。
- **MAC加法器(ACC[0:3])**:提供多个累加器来支持更复杂的计算任务。
- **加法器扩展(ACCext01, ACCext23)**:为MAC加法器提供额外的功能。
- **MAC掩码寄存器(MASK)**:与MAC中的掩码寄存器类似。
##### 1.5 管理员编程模式
管理员编程模式允许对系统进行更深入的控制,包括但不限于:
- **状态寄存器(SR)**:包含控制位和状态位,用于设置处理器的工作模式。
- **管理员用户堆栈指针(A7 和 OTHER_A7)**:分别用于管理管理员和用户的堆栈空间。
- **向量基址寄存器(VBR)**:用于指定中断向量表的基地址。
- **缓存控制寄存器(CACR)**:控制处理器缓存的行为。
- **地址空间标示符(ASID)**:用于管理虚拟内存的不同地址空间。
- **存储访问控制寄存器(ACR0-ACR3)**:控制不同内存区域的访问权限。
- **MMUC基址寄存器(MMUBAR)**:指定MMU表的基地址。
- **RAM基地址寄存器(RAMBAR0-RAMBAR1)**:指定RAM的基地址。
- **ROM基地址寄存器(ROMBAR0-ROMBAR1)**:指定ROM的基地址。
- **模块基址寄存器(MBAR)**:用于定位特定的硬件模块。
##### 1.6 整数数据格式
整数数据格式是ColdFire处理器处理整数数据的基础,包括无符号整数和有符号整数等多种格式。
##### 1.7 浮点型数据格式
浮点型数据格式是ColdFire处理器处理浮点数据的基础,主要包括单精度和双精度两种类型。
##### 1.8 乘法累加器数据格式
乘法累加器数据格式是专门为MAC设计的数据格式,用于高效地处理乘法累加运算。
##### 1.9 寄存器的数据组织
这部分内容详细介绍了如何在寄存器中组织不同类型的数据,包括整数和浮点数的存储布局。
##### 1.10 硬件配置信息
这部分提供了关于处理器硬件配置的重要信息,对于理解处理器的内部结构非常有用。
####