第1章 ColdFire基本介绍 2
1.1 ColdFire的历史和概述 2
1.2 ColdFire应用领域 5
1.2.1 工业控制领域 6
1.2.2 消费类电子领域 6
1.2.3 医疗电子领域 7
1.2.4 测试与测量 8
1.2.5 家庭及楼宇自动化 9
1.3 本书内容 9
第2章 ColdFire内核及处理器架构介绍2.1 ColdFire内核基本介绍 11
2.2 ColdFire内核结构 11
2.2.1 V2内核架构 12
2.2.2 V3内核架构 13
2.2.3 V4内核架构 14
2.2.4 V4e内核架构 17
2.3 内核主要寄存器 18
2.3.1 数据寄存器 18
2.3.2 地址寄存器 18
2.3.3 堆栈指针 18
2.3.4 程序指针 19
2.3.5 条件寄存器 19
2.3.6 异常中断向量基地址寄存器 19
2.3.7 状态寄存器 19
2.4 MAC和EMAC 19
2.4.1 MAC 19
2.4.2 EMAC 21
2.4.3 应用实例 21
2.5 高速缓存 22
2.5.1 ColdFire缓存工作原理 22
2.5.2 主要寄存器 25
2.6 内部SRAM和内部Flash 26
2.6.1 内部SRAM 26
2.6.2 内部Flash 26
2.7 ColdFire处理器架构 31
2.7.1 CF5210平台 31
2.7.2 标准产品平台 33
2.7.3 系统访问控制 35
2.8 基本指令集介绍 35
2.8.1 寻址模式 37
2.8.2 指令集 39
2.9 μCOS-Ⅱ在ColdFire上的移植 46
2.9.1 μCOS-Ⅱ移植的关键代码 46
2.9.2 OS_CPU.H 47
2.9.3 OS_CPU_C.C 48
2.9.4 OS_CPU_A.ASM 50
2.9.5 OS_CPU_I.ASM 55
第3章 编程开发工具 56
3.1 开发工具概况 56
3.2 CodeWarrior for ColdFire 56
3.2.1 CodeWarrior基本使用 57
3.2.2 项目配置 64
3.2.3 Link文件语法 69
3.2.4 ColdWarrior的默认库文件 71
3.2.5 烧写编程 73
3.2.6 调试 76
3.3 Linux/μCLinux开发环境——BSP 76
3.3.1 Linux/μCLinux for ColdFire基本介绍 76
3.3.2 LTIB使用 77
3.3.3 内核与文件系统的下载 80
3.3.4 调试 81
3.4 IAR for ColdFire基本介绍 83
3.4.1 IDE环境介绍 83
3.4.2 编译器 84
3.4.3 调试器C-SPY 86
第4章 内核异常与中断控制器4.1 内核异常与中断控制器的基本介绍 88
4.2 内核异常处理 88
4.2.1 异常中断处理的工作原理 88
4.2.2 中断向量表与异常介绍 91
4.3 中断控制器的介绍 94
4.3.1 中断优先级和中断级别 94
4.3.2 寄存器基本介绍 98
4.4 应用实例 99
4.4.1 中断控制器的初始化 99
4.4.2 中断向量表的初始化 100
4.4.3 中断服务程序的例程 103
第5章 Flex总线和Mini-Flex总线5.1 Flex总线基本介绍 105
5.2 硬件信号 106
5.3 寄存器介绍 109
5.4 工作模式 110
5.4.1 总线状态机和突发模式 110
5.4.2 时序分析 112
5.4.3 数据对齐和非对齐 119
5.5 应用实例 120
5.5.1 连接通用总线设备 120
5.5.2 Flex总线与EIM的区别 123
第6章 SDRAM控制器 126
6.1 SDRAM外部功能引脚支持 126
6.1.1 统一架构 126
6.1.2 伪分裂架构 127
6.1.3 全分裂架构 128
6.1.4 SDRAM控制器的信号 129
6.2 SDRAM控制寄存器简介 130
6.2.1 SDRAM模式/扩展模式寄存器 130
6.2.2 SDRAM控制寄存器 130
6.2.3 SDRAM配置寄存器1/2 131
6.3 SDR/DDR/DDR2的功能比较 131
6.3.1 外部引脚功能比较 131
6.3.2 性能差异分析 132
6.4 应用案例 132
6.4.1 MCF5445x SDRAM接口应用向导 132
6.4.2 硬件设计样例 133
6.4.3 DDR2 RAM初始化样例 134
6.4.4 DDR2硬件设计的布局参考 136
6.4.5 PCB布线指导 138
第7章 USB控制器 141
7.1 USB基本概述 141
7.2 MCU USB模块介绍 145
7.2.1 MCU USB模块概述 145
7.2.2 主机实现 150
7.2.3 设备类实现 151
7.2.4 人机接口设备类介绍 153
7.2.5 存储设备类实现 158
7.3 MPU USB模块介绍 164
7.3.1 MPU USB模块概述 164
7.3.2 USB设备类的工作原理 166
7.3.3 USB设备类例程 168
7.3.4 USB主机类原理 174
7.3.5 USB主机类例程 178
第8章 快速以太网控制器 186
8.1 快速以太网控制器概述 186
8.2 以太网控制寄存器简介 188
8.3 以太网控制器外部功能引脚 190
8.3.1 功能引脚简介 190
8.3.2 MII接口原理图 190
8.4 以太网控制器的中断控制 191
8.4.1 中断源简介 191
8.4.2 中断初始化样例 192
8.5 以太网控制器应用简介 194
8.5.1 缓冲区描述符 194
8.5.2 初始化启动流程 195
8.5.3 发送数据流程 196
8.5.4 接收数据流程 197
8.5.5 以太网控制器简单测试实例 198
8.6 应用案例——ColdFire_TCP/IP_Lite 200
8.6.1 简介 200
8.6.2 协议栈启动过程 202
8.6.3 NicheTask实时操作系统 205
8.6.4 Mini Socket TCP API简介 206
8.6.5 协议的流程分析样例 207
第9章 串行外设接口模块 210
9.1 队列串行外设模块 210
9.1.1 QSPI概述 210
9.1.2 QSPI寄存器介绍 211
9.1.3 QSPI工作原理与数据传输流程 212
9.1.4 QSPI使用实例 217
9.2 DMA串行外设接口模块 220
9.2.1 DSPI概述 221
9.2.2 DSPI寄存器介绍 222
9.2.3 DSPI工作原理 225
9.2.4 DSPI使用实例 228
9.3 EZPORT模块 232
9.3.1 EZPORT概述 232
9.3.2 EZPORT命令集 233
9.3.3 EZPORT使用实例 236
第10章 I2C模块介绍与应用10.1 I2C协议简介 243
10.2 I2C模块框图和寄存器介绍 245
10.3 I2C模块初始化流程 247
10.4 I2C模块中断处理流程 249
10.5 I2C模块应用实例——基于NicheTask的LCD驱动 257
第11章 FlexCAN控制器 261
11.1 FlexCAN控制器寄存器简介 261
11.1.1 FlexCAN模式寄存器 261
11.1.2 FlexCAN控制寄存器 261
11.1.3 自由计时器 262
11.1.4 接收屏蔽寄存器 262
11.1.5 错误计数器 262
11.1.6 错误和状态寄存器 262
11.1.7 消息缓冲中断屏蔽寄存器 262
11.1.8 消息缓冲中断标志寄存器 262
11.1.9 消息缓冲 262
11.2 CAN外部功能引脚简介 264
11.3 CAN的中断控制 265
11.4 FlexCAN应用向导 265
11.4.1 CAN总线位时序的计算 265
11.4.2 FlexCAN模块的振荡器容许公差 268
11.5 CAN底层驱动简介 272
11.5.1 软件架构 272
11.5.2 API函数简介 273
11.5.3 API函数样例 284
第12章 DMA与EDMA控制器介绍与应用12.1 DMA控制器 286
12.1.1 DMA控制器概述 286
12.1.2 DMA寄存器介绍 287
12.1.3 DMA控制器原理 289
12.1.4 DMA使用实例 292
12.2 EDMA控制器 296
12.2.1 EDMA控制器概述 297
12.2.2 EDMA寄存器介绍 297
12.2.3 EDMA控制器原理 299
12.2.4 EDMA应用实例 300
第13章 ColdFire内置定时器13.1 ColdFire定时器基本介绍 308
13.2 通用定时器 308
13.2.1 通用定时器的输入捕捉模式 308
13.2.2 通用定时器的输出比较模式 311
13.2.3 通用定时器的脉冲计数模式 313
13.2.4 通用定时器的PWM功能 314
13.3 可编程中断定时器 315
13.3.1 可编程中断定时器概述 315
13.3.2 应用实例 315
13.4 DMA定时器 316
13.4.1 DMA定时器概述 316
13.4.2 应用实例 318
13.5 实时时钟模块RTC 319
第14章 脉宽调制模块 322
14.1 简介 322
14.2 PWM寄存器介绍 323
14.2.1 PWM使能寄存器 323
14.2.2 PWM极性控制寄存器 323
14.2.3 PWM时钟源选择寄存器 323
14.2.4 PWM时钟预分频选择寄存器 323
14.2.5 PWM中央对齐使能寄存器 324
14.2.6 PWM控制寄存器 324
14.2.7 PWM比例寄存器A和PWM比例寄存器B 324
14.2.8 PWM通道计数器 324
14.2.9 PWM通道周期寄存器 325
14.2.10 PWM通道占空比寄存器 325
14.2.11 PWM关闭寄存器 325
14.3 功能介绍 326
14.3.1 PWM时钟源选择 326
14.3.2 PWM定时器 327
14.4 PWM使用实例 332
第15章 通用异步收发器 344
15.1 UART模块概述 344
15.2 UART工作简介 345
15.2.1 异步通信的数据格式 345
15.2.2 UART的通道工作模式 345
15.2.3 UART的中断 347
15.2.4 波特率计算 348
15.2.5 DMA操作UART收发 348
15.2.6 UART多点通信 349
15.3 UART的寄存器 350
15.4 UART的应用 352
15.4.1 UART配置流程 352
15.4.2 例程 352
15.4.3 UART外围硬件设计 357