
| 以完整实例方式阐述嵌入式应用设计,遵循嵌入式软件工程规范;满足移植与复用要求的底层驱动构件封装;提供硬件评估系统与工具、清晰注释文档与测试用例。 |
| 第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 |
商品评论(0条)