标题：基于32位ColdFire构建嵌入式系统
图书信息
出版社: 电子工业出版社; 第1版 (2009年7月1日)
丛书名: 嵌入式技术与应用丛书，飞思卡尔系列
平装: 434页
正文语种: 简体中文
开本: 16
ISBN: 9787121092121
条形码: 9787121092121
尺寸: 25.8 x 18.2 x 2 cm
重量: 680 g
内容简介
《基于32位ColdFire构建嵌入式系统》以Freescale 32位微控制器ColdFire系列的MCF52233为蓝本阐述嵌入式系统的软件与硬件设计。全书共18章，《基于32位ColdFire构建嵌入式系统》配有网络光盘，包含了ColdFire系列微控制器开发环境的安装文件、书中提供的所有实例源程序、辅助资料、相关芯片资料及常用软件工具。《基于32位ColdFire构建嵌入式系统》可供大学有关专业的高年级学生和研究生用作教材或参考读物，也可供嵌入式系统开发与研究人员用作参考和进修资料。
读者对象：
可供大学有关专业的高年级学生和研究生用作教材或参考读物，也可供嵌入式系统开发与研究人员用作参考和进修资料。
目录
第1章 概述 1
1.1 嵌入式系统定义、由来及特点 1
1.1.1 嵌入式系统的定义 1
1.1.2 嵌入式系统的由来及其与微控制器的关系 2
1.1.3 嵌入式系统的特点 3
1.2 嵌入式系统的知识体系、学习误区及学习建议 4
1.2.1 嵌入式系统的知识体系 4
1.2.2 嵌入式系统的学习误区 5
1.2.3 基础阶段的学习建议 8
1.3 嵌入式系统常用术语 9
1.3.1 与硬件相关的术语 9
1.3.2 与通信相关的术语 11
1.3.3 与功能模块及软件相关的术语 12
1.4 嵌入式系统常用的标准C语言基本语法概要 13
1.5 本书学习与实践资料索引 22
第2章 ColdFire概述与MCF52233硬件最小系统 24
2.1 ColdFire系列微处理器概述 24
2.2 MCF5223x系列微控制器存储器映像与编程结构 26
2.2.1 MCF5223x性能概述与内部结构简图 26
2.2.2 MCF5223x存储器映像 28
2.2.3 编程模式与寻址方式 28
2.2.4 ColdFire异常和中断控制 31
2.3 MCF52233的引脚功能与硬件最小系统 33
2.3.1 MCF52233的引脚功能 33
2.3.2 MCF52233的硬件最小系统 35
2.3.3 硬件最小系统测试方法 38
第3章 第一个样例程序及ColdFire工程组织 41
3.1 通用I/O接口基本概念及连接方法 41
3.2 MCF52233的GPIO 43
3.2.1 MCF52233GPIO编程的基本原理 43
3.2.2 GPIO模块寄存器与GPIO的编程基本方法 44
3.3 开发套件CodeWarrior开发环境与ColdFire写入器 46
3.3.1 CodeWarrior开发环境简介与基本使用方法 46
3.3.2 WA-Ⅰ型32位ColdFire写入器 47
3.3.3 MCF52233EVB硬件评估板 48
3.4 CW工程文件组织 48
3.4.1 工程文件的组织 48
3.4.2 初始化相关文件 50
3.4.3 主程序、中断程序及其他文件 53
3.4.4 链接文件及机器码文件 56
3.5 第一个应用实例：控制小灯闪烁 59
3.5.1 GPIO构件 60
3.5.2 Light构件 65
3.5.3 Light测试工程主程序 67
3.6 理解第一个C工程的执行过程 68
第4章 异步串行通信与直接存储器访问 71
4.1 异步串行通信的基础知识 71
4.1.1 基本概念 71
4.1.2 RS-232C总线标准 73
4.1.3 电平转换电路原理 74
4.2 MCF52233的UART模块的物理结构 76
4.3 MCF52233的UART模块的编程结构 79
4.4 基于构件方法的UART编程 82
4.4.1 UART构件的函数原型设计 82
4.4.2 UART构件的头文件 83
4.4.3 UART构件的源程序文件 86
4.4.4 UART构件的测试工程 91
4.5 ColdFire第一个带有中断功能的实例 92
4.6 MCF52233的四通道DMA控制器 95
4.6.1 DMA概述 95
4.6.2 MCF52233四通道DMA特点 95
4.6.3 MCF52233的DMA控制器编程结构 96
4.7 MCF52233的DMA编程要点 99
4.7.1 DMA初始化 100
4.7.2 DMA启动序列与重启序列 100
4.8 基于构件的带DMA的UART编程实例 101
4.8.1 DMA构件的函数原型设计 101
4.8.2 DMA构件的头文件 101
4.8.3 DMA构件的源程序文件 105
4.8.4 DMA方式收/发测试实例 108
4.9 进一步讨论 110
4.9.1 流控制与Break信号 110
4.9.2 延长串口通信的距离 111
4.9.3 串口的扩展 111
第5章 GPIO的应用实例——键盘、LED与LCD 113
5.1 键盘 113
5.1.1 键盘模型及接口 113
5.1.2 键盘编程的基本问题 114
5.1.3 键盘编程实例 114
5.2 码管LED 121
5.2.1 描法编程原理 121
5.2.2 码管编程实例 122
5.3 液晶LCD 126
5.3.1 HD44780的编程结构 126
5.3.2 点阵字符型LCD编程实例 127
第6章 MCF52233的A/D转换模块 133
6.1 A/D转换的基本问题 133
6.2 MCF52233的A/D转换结构与特性 134
6.3 MCF52233的A/D模块编程寄存器 135
6.4 基于构件的A/D编程 144
6.4.1 A/D构件的函数原型设计 144
6.4.2 A/D构件的头文件 145
6.4.3 A/D构件的源程序文件 146
6.5 MCF52233A/D模块编程实例——物理量采集回归系统 149
6.5.1 低端软件设计 149
6.5.2 高端软件设计 151
6.6 常用传感器简介及一个典型信号采样电路设计 152
6.6.1 常用传感器简介 152
6.6.2 电阻型传感器采样电路设计 154
第7章 定时器相关模块及其应用 156
7.1 可编程中断定时器 156
7.1.1 PIT模块的编程寄存器 156
7.1.2 PIT模块的运行模式与编程方法 157
7.1.3 PIT模块的编程实例 158
7.2 通用定时器GPT模块 161
7.2.1 计数器/定时器的基本工作原理 161
7.2.2 定时器模块的定时计数功能 162
7.2.3 定时器模块的输入捕捉功能 166
7.2.4 定时器模块的输出比较功能 171
7.2.5 定时器模块的脉冲累加功能 174
7.3 PWM与D/A转换 177
7.3.1 PWM基本概念 177
7.3.2 PWM的编程寄存器 179
7.3.3 PWM的编程实例 182
7.3.4 PWM的进一步讨论 189
7.3.5 用PWM实现D/A转换 190
第8章 队列式串行外设接口 191
8.1 SPI的基本工作原理 191
8.1.1 SPI基本概念 191
8.1.2 SPI的数据传输 192
8.1.3 SPI模块的时序 193
8.1.4 模拟SPI 194
8.2 MCF52233队列串行外设接口（QSPI）模块编程结构 195
8.2.1 QSPI概述 195
8.2.2 QSPI工作原理 196
8.2.3 QSPI功能描述 197
8.2.4 QSPI模块寄存器 198
8.2.5 发送延时 202
8.3 MCF52233的串行外设接口QSPI模块编程实例 203
第9章 I2C模块及应用实例 209
9.1 I2C模块 209
9.1.1 I2C总线特点 209
9.1.2 I2C总线标准的发展历史 210
9.1.3 I2C总线的相关术语 210
9.2 I2C总线工作原理 211
9.2.1 总线上数据的有效性 211
9.2.2 总线上的信号 211
9.2.3 总线上数据传输格式 213
9.2.4 I2C总线寻址约定 213
9.2.5 主机向从机读/写1个字节数据的过程 213
9.3 I2C模块的编程基础 214
9.3.1 MCF52233的I2C模块 214
9.3.2 MCF52233的I2C模块寄存器介绍 215
9.3.3 MCF52233的I2C模块编程 218
9.4 MCF52233的I2C模块的进一步讨论 224
9.4.1 仲裁程序 224
9.4.2 实现数据传输同步交换 225
第10章 Flash在线编程 226
10.1 Flash存储器概述 226
10.2 ColdFireFlash存储器编程方法 227
10.2.1 ColdFireFlash模块寄存器 228
10.2.2 ColdFireFlash存储器擦除/写入的步骤 231
10.3 ColdFireFlash擦除/写入函数的测试工程 236
10.4 ColdFireFlash存储器的保护特性和安全性 237
10.4.1 ColdFireFlash存储器的保护特性 237
10.4.2 ColdFireFlash存储器的安全性 237
第11章 MCF52235FlexCAN模块编程方法 241
11.1 CAN总线通用知识 241
11.1.1 CAN总线协议的历史概况 241
11.1.2 CAN硬件系统的典型电路 241
11.1.3 CAN总线的有关基本概念 244
11.1.4 帧结构 247
11.1.5 位时间 250
11.2 MCF52235FlexCAN模块概述与编程结构 251
11.2.1 FlexCAN特性 251
11.2.2 操作模式 252
11.2.3 FlexCAN模块的内存映像以及寄存器定义 254
11.2.4 FlexCAN报文缓冲区（MessageBuffer，MB） 259
11.3 MCF52235FlexCAN模块报文发送与接收函数设计 263
11.3.1 数据帧发送/接收 263
11.3.2 远程帧发送/接收 267
11.3.3 仲裁处理、匹配处理及报文缓冲区管理 271
11.4 MCF52235FlexCAN模块编程实例 272
11.4.1 初始化函数设计 272
11.4.2 MCF52235FlexCAN模块测试工程说明 274
11.5 进一步讨论 276
第12章 基于MCF52233的嵌入式以太网 280
12.1 嵌入式以太网相关基础知识 280
12.1.1 以太网的由来与协议模型 280
12.1.2 以太网中主要物理设备 283
12.1.3 相关名词解释 284
12.2 MCF52233以太网模块外部连接及编程基础 288
12.2.1 以太网模块引脚及硬件连接 288
12.2.2 以太网物理层收/发器EPHY的编程基础 290
12.2.3 第一个测试实例：网络连接 294
12.2.4 快速以太网控制器FEC的编程基础 299
12.3 链路层编程 307
12.3.1 FEC初始化函数FEC_Init 307
12.3.2 以太帧发送 311
12.3.3 以太帧接收 313
12.3.4 第二个测试实例：以太帧的发送和接收 315
12.3.5 第三个测试实例：链路层ARP协议编程 317
12.4 网络层的IP协议与ICMP协议编程 320
12.4.1 IP协议简介 320
12.4.2 第四个测试实例：使用ICMP协议响应Ping请求 322
12.5 传输层的UDP与TCP协议编程 324
12.5.1 UDP协议概述 324
12.5.2 第五个测试实例：UDP报文的发送和接收 324
12.5.3 TCP协议概述 326
12.5.4 第六个测试实例：TCP报文的发送和接收 326
12.6 应用层的HTTP协议编程 329
12.6.1 HTTP协议概述 330
12.6.2 第七个测试实例：HTTP协议静态页面的实现 332
第13章 其他模块 333
13.1 时钟模块 333
13.2 芯片配置模块 334
13.2.1 芯片配置模块简介 335
13.2.2 芯片配置模块寄存器定义 335
13.3 系统控制模块 336
13.3.1 系统控制模块功能概述 336
13.3.2 系统控制模块的可编程寄存器 337
13.3.3 对系统初始化过程的理解 339
13.4 实时时钟模块 341
13.5 电源管理模块 343
13.5.1 低功耗模式 343
13.5.2 低功耗模式下的外设行为 344
13.5.3 电源管理模块寄存器定义 344
13.6 复位控制模块 345
第14章 基于MCF52223的USB2.0编程 347
14.1 USB基本概念及硬件特性 347
14.1.1 USB概述 347
14.1.2 USB相关基本概念 349
14.1.3 USB的物理特性 354
14.2 USB的通信协议 356
14.2.1 USB基本通信单元：包 356
14.2.2 USB通信中的事务处理 358
14.2.3 从设备的枚举看USB数据传输 360
14.3 MCF52223硬件最小系统及USB模块功能简介 364
14.3.1 MCF52223硬件最小系统 364
14.3.2 MCF52223的USB模块功能简介 365
14.3.4 ．MCF52223的USB模块主要寄存器介绍 366
14.4 MCF52223作为USB从机的开发方法 370
14.4.1 PC端USB设备驱动程序的选择及基本原理 370
14.4.2 PC作为USB主机的程序设计 374
14.4.3 MCF52223作为USB从机的程序设计 377
14.5 MCF52223作为USB主机的开发方法 381
14.5.1 MCF52223作为USB主机的基本功能 381
14.5.2 USB主机与CDC类USB设备通信 383
14.5.3 USB主机与MassStorage类USB设备通信 384
14.6 采用OTG技术的USB系统开发方法 384
第15章 μC/OS-Ⅱ在ColdFire上的移植与应用 388
15.1 实时操作系统概述 388
15.1.1 实时操作系统基本含义和要求 388
15.1.2 任务和多任务 388
15.1.3 RTOS的常用术语 389
15.1.4 RTOS的现状 390
15.2 嵌入式实时操作系统μC/OS-Ⅱ 392
15.2.1 μC/OS-Ⅱ简介 392
15.2.2 μC/OS-Ⅱ与几种RTOS的比较 393
15.2.3 μC/OS-Ⅱ中的任务 393
15.2.4 ?C/OS-Ⅱ用户应用程序的一般结构 394
15.3 μC/OS-Ⅱ的任务划分 395
15.3.1 任务划分的目标 396
15.3.2 任务划分的方法 396
15.4 μC/OS-Ⅱ在MCF52233上的应用实例 398
15.4.1 基于μC/OS-Ⅱ的应用实例 398
15.4.2 与无RTOS实例的比较 400
15.5 μC/OS-Ⅱ在MCF52233上的移植 401
15.5.1 定义内核的大小和功能 401
15.5.2 与硬件相关的代码 403
第16章 基于硬件构件的嵌入式系统开发方法 407
16.1 嵌入式系统开发所遇到的若干问题 407
16.2 嵌入式硬件构件的基本思想与应用方法 408
16.3 基于硬件构件的嵌入式系统硬件电路设计原则 408
16.3.1 设计时需要考虑的基本问题 408
16.3.2 硬件构件化电路原理图绘制规则 409
16.3.3 PCB设计基本原则 411
16.4 基于硬件构件的嵌入式底层软件构件的编程方法 413
16.4.1 嵌入式硬件构件和软件构件的层次模型 413
16.4.2 底层构件的实现方法与编程思想 414
16.4.3 硬件构件及底层软件构件的重用与移植方法 416
16.5 硬件构件化嵌入式开发技术的应用实例 417
16.5.1 系统功能 417
16.5.2 硬件设计 418
16.5.2 软件设计 422
附录A 425
附录B 427
附录C 430
参考文献 434