第1章 嵌入式系统概述
1.1 嵌入式系统的概念
1.1.1 嵌入式系统的发展历程
1.1.2 嵌入式系统的定义
1.1.3 嵌入式系统的主要特征
1.1.4 嵌入式系统与PC的区别
1.2 嵌入式系统的组成
1.2.1 嵌入式硬件组成
1.2.2 嵌入式软件组成
1.3 嵌入式系统的类型
1.3.1 缩减PC系统
1.3.2 高端嵌入式系统
1.3.3 单片机系统
1.4 嵌入式系统的应用领域与发展趋势
1.4.1 嵌入式系统的应用领域
1.4.2 嵌入式系统的发展趋势
本章小结
习题
第2章 嵌入式系统的开发模式与方法
2.1 嵌入式系统的相关知识
2.1.1 存储器管理单元
2.1.2 板级支持包
2.1.3 Bootloader与OSLoader
2.1.4 ICE与ICD
2.1.5 编译器与交叉编译器
2.1.6 JTAG
2.1.7 模拟器与仿真器
2.2 嵌入式系统的开发模式
2.2.1 面向硬件的开发模式
2.2.2 面向操作系统的开发模式
2.3 嵌入式系统的设计方法
2.3.1 嵌入式系统设计方法
2.3.2 嵌入式系统编程
2.3.3 嵌入式系统测试
2.3.4 嵌入式软件的复用
2.3.5 嵌入式软件开发环境
本章小结
习题
第3章 ARM微处理器体系结构
3.1 ARM概述
3.2 ARM的版本
3.3 ARM微处理器系列
3.4 ARM微处理器结构
3.4.1 ARM微处理器的工作状态
3.4.2 ARM微处理器的工作模式
3.4.3 ARM微处理器的寄存器组织
3.4.4 ARM微处理器的存储器格式
3.4.5 ARM微处理器的异常中断
3.5 基于ARM9的S3C2410AX微处理器
本章小结
习题
第4章 ARM指令系统
4.1 ARM指令概述
4.1.1 ARM指令的分类
4.1.2 ARM指令的条件域
4.2 ARM微处理器的寻址方式
4.2.1 立即数寻址
4.2.2 寄存器寻址
4.2.3 寄存器移位寻址
4.2.4 寄存器间接寻址
4.2.5 寄存器基址寻址
4.2.6 多寄存器寻址
4.2.7 相对寻址
4.2.8 堆栈寻址
4.2.9 块拷贝寻址
4.3 ARM指令集
4.3.1 ARM指令的基本格式
4.3.2 ARM指令集的内容
4.4 Thumb指令集
4.4.1 Thumb指令集的内容
4.4.2 Thumb指令集与ARM指令集的区别
本章小结
习题
第5章 ARM应用软件开发环境
5.1 RealView MDK集成开发环境
5.1.1 安装与启动
5.1.2 工程项目的管理
5.1.3 工程项目的配置
5.1.4 编译
5.1.5 仿真调试
5.2 汇编语言编程
5.2.1 汇编语言程序中常用的符号
5.2.2 汇编语言程序中的表达式和运算符
5.2.3 ARM汇编器所支持的伪指令
5.2.4 汇编语言的程序结构
5.3 嵌入式C语言编程
5.4 汇编语言与C/C++的混合编程
5.4.1 在C/C++代码中嵌入汇编指令
5.4.2 在汇编程序和C/C++程序之间进行变量的互访
5.4.3 汇编程序、C/C++程序间的相互调用
5.5 RealView MDK环境下ARM程序开发举例
本章小结
习题
第6章 应用接口设计
6.1 嵌入式微处理器系统核心的硬件设计
6.1.1 芯片选择
6.1.2 时钟与电源管理
6.1.3 中断系统
6.2 存储器接口
6.2.1 S3C2410A的存储器组织
6.2.2 S3C2410A的SDRAM存储器接口
6.2.3 S3C2410A的Nand Flash存储器接口
6.2.4 S3C2410A的Nor Flash存储器接口
6.3 通用I/O接口
6.3.1 S3C2410A的通用I/O接口
6.3.2 通用I/O接口相关的寄存器
6.3.3 通用I/O接口设计
6.3.4 通用I/O接口驱动程序
6.3.5 通用I/O接口的应用实例
6.4 键盘接口
6.4.1 矩阵式键盘接口
6.4.2 标准的计算机通用键盘接口
6.5 显示器接口
6.5.1 LED数码管显示接口
6.5.2 LCD显示接口
6.6 触摸屏接口
6.6.1 触摸屏的工作原理
6.6.2 触摸屏的接口模式
6.6.3 触摸屏相关的寄存器
6.6.4 触摸屏的接口设计
6.6.5 触摸屏的驱动程序设计
6.6.6 触摸屏接口实例
6.7 A/D接口
6.7.1 A/D转换的基本原理
6.7.2 S3C2410A的A/D转换控制器
6.7.3 A/D接口电路
6.7.4 A/D转换的程序设计
6.8 IIS音频接口
6.8.1 IIS总线格式
6.8.2 S3C2410A内置的IIS控制器
6.8.3 IIS控制相关的寄存器
6.8.4 IIS接口电路
6.8.5 IIS的接口程序设计
本章小结
习题
第7章 通信接口设计
7.1 UART接口
7.1.1 UART通信数据格式
7.1.2 S3C2410A的UART接口
7.1.3 UART相关的寄存器
7.1.4 UART接口设计
7.1.5 UART接口驱动程序
7.2 IIC接口
7.2.1 IIC通信数据格式
7.2.2 S3C2410A的IIC接口
7.2.3 IIC相关的寄存器
7.2.4 IIC接口设计
7.2.5 IIC接口驱动程序
7.3 SPI接口
7.3.1 SPI接口
7.3.2 S3C2410A的SPI控制器
7.3.3 SPI相关的寄存器
7.3.4 SPI接口的初始化程序
7.4 USB接口
7.4.1 USB接口
7.4.2 S3C2410A的USB控制器
7.4.3 USB接口设计
7.4.4 USB接口编程
7.5 常用网络接口
7.5.1 以太网技术协议
7.5.2 以太网接口控制器
7.5.3 以太网接口电路
7.5.4 以太网接口编程
本章小结
习题
第8章 基于嵌入式Linux的应用开发
8.1 嵌入式Linux内核组成与启动过程
8.1.1 嵌入式Linux内核组成
8.1.2 嵌入式Linux的启动过程
8.2 嵌入式Linux的开发步骤
8.3 嵌入式Linux开发环境的构建
8.3.1 嵌入式Linux交叉开发环境
8.3.2 安装Linux操作系统
8.3.3 配置开发工具
8.3.4 交叉编译环境的建立
8.4 嵌入式系统的Bootloader技术
8.4.1 嵌入式软件运行过程
8.4.2 Bootloader的开发过程
8.4.3 常用的Bootloader
8.4.4 Bootloader的移植
8.5 嵌入式Linux系统的构建
8.5.1 嵌入式Linux内核的构建
8.5.2 嵌入式Linux根文件系统的构建
8.5.3 基于嵌入式Linux的应用系统开发
8.6 Linux系统下设备驱动程序的开发
8.6.1 Linux下设备驱动程序简介
8.6.2 设备驱动程序的结构
8.6.3 设备驱动程序的开发
8.6.4 Linux设备驱动开发实例
8.7 Linux用户图形接口GUI
8.7.1 嵌入式系统的GUI
8.7.2 Qt/Embedded基础
8.7.3 Qt/Embedded开发环境
8.7.4 Qt/Embedded开发实例
本章小结
习题
第9章 嵌入式应用系统的开发实例
9.1 嵌入式应用系统的开发步骤
9.1.1 方案论证
9.1.2 硬件系统设计
9.1.3 应用软件设计
9.1.4 软硬件调试
9.1.5 程序下载
9.2 基于ARM和GPRS的无线抄表终端(开发实例1)
9.2.1 方案论证
9.2.2 硬件系统设计
9.2.3 应用软件设计
9.2.4 实验与测试
9.2.5 程序下载
9.3 基于嵌入式Linux的视频监控系统(开发实例2)
9.3.1 方案论证
9.3.2 硬件系统设计
9.3.3 Linux系统制作
9.3.4 应用软件设计
9.3.5 系统测试
本章小结
附录A S3C2410A方框图
附录B S3C2410A引脚图
附录C S3C2410A引脚功能
附录D S3C2410A的IO引脚功能
附录E S3C2410A专用寄存器
附录F S3C2410A启动代码的配置
参考文献