译者序
第1章 简介
1.1 本书的作用
1.2 嵌入式系统中使用C语言的好处
1.3 本书概览
1.4 修改和补充信息
第2章 问题规范
2.1 产品需求
2.2 硬件管理
2.3 软件计划
2.3.1 软件体系结构
2.3.2 伪代码
2.3.3 流程图
2.3.4 状态图
2.3.5 资源管理
2.4 测试规划
第3章 微控制器
3.1 中央处理单元
3.1.1 指令集
3.1.2 栈
3.2 内存寻址和类型
3.2.1 RAM和ROM
3.2.2 ROM和程序设计
3.2.3 冯·诺依曼与哈佛体系结构
3.3 定时器
3.3.1 监视定时器
3.3.2 实例
3.4 中断电路
3.4.1 向量和非向量仲裁
3.4.2 中断期间保存状态
3.4.3 执行中断处理程序
3.4.4 多个中断
3.4.5 RESET
3.5 I/O端口
3.6 串行外设总线
3.7 微控制器的开发工具
第4章 设计过程
4.1 产品功能
4.2 硬件设计
4.3 软件设计
4.3.1 软件体系结构
4.3.2 流程图
4.4 资源管理
4.4.1 暂存缓冲器
4.4.2 中断计划
4.5 测试选择
4.5.1 调试规划
4.5.2 代码检查
4.5.3 模拟器环境
4.5.4 仿真器环境
4.5.5 在测试套件里的目标系统
第5章 嵌入式系统中使用C
5.1 内联汇编语言
5.2 设备知识
5.2.1 #pragma has
5.2.2 #pragma port
5.2.3 字节次序
5.3 机械知识
5.4 函数库
5.5 初看嵌入式C程序
第6章 数据类型和变量
6.1 标识符声明
6.2 函数数据类型
6.3 字符数据类型
6.4 整数数据类型
6.5 位数据类型
6.6 实数
6.7 复杂数据类型
6.7.1 指针
6.7.2 数组
6.7.3 枚举类型
6.7.4 结构
6.7.5 联合
6.8 typedef
6.9 数据类型修饰符
6.9.1 数值常量修饰符:const和volatile
6.9.2 允许值修饰符:signed和unsigned
6.9.3 大小修饰符:short和long
6.9.4 指针范围修饰符:near和far
6.10 存储类修饰符
6.10.1 外部链接
6.10.2 内部链接
6.10.3 无链接
6.10.4 extern修饰符
6.10.5 static修饰符
6.10.6 register修饰符
6.10.7 auto修饰符
第7章 C语言的语句、结构及操作
7.1 块中的联合语句
7.2 函数
7.3 控制结构
7.3.1 main( )函数
7.3.2 初始化函数
7.3.3 控制语句
7.4 选择结构
7.5 循环结构
7.5.1 控制表达式
7.5.2 break和continue
7.6 操作符和表达式
7.6.1 标准数学操作符
7.6.2 位逻辑操作符
7.6.3 移位操作符
第8章 函数库
8.1 创建函数库
8.2 编写函数库
8.3 函数库与链接
第9章 优化和测试嵌入式C语言程序
9.1 优化
9.2 手工优化
9.3 调试嵌入式C语言程序
9.3.1 寄存器类型的修饰符
9.3.2 局部内存
9.3.3 指针
9.4 混合C语言和汇编语言
9.4.1 调用规范
9.4.2 从汇编代码中访问C变量
9.5 试验硬件
9.6 通过检查调试
9.7 假载荷
9.8 仿真器和模拟器的运用
9.8.1 模拟器
9.8.2 仿真器
9.9 嵌入式软件的封装
第10章 样例工程
10.1 硬件的练习程序
10.1.1 显示“Hello World!”
10.1.2 键盘测试
10.1.3 LCD测试
10.2 与端口通信
10.3 A/D转换器原理
附录A 嵌入式C语言函数库
附录B ASCII码表
附录C 术语表
光盘内容