内容简介
第1章 嵌入式系统概述
1.1 嵌入式系统的基本概念
1.1.1 嵌入式系统的定义
1.1.2 嵌入式系统的特点
1.1.3 嵌入式系统的发展
1.1.4 嵌入式系统的应用
1.1.5 嵌入式系统的学习方法
1.2 嵌入式处理器
1.2.1 嵌入式处理器的种类
1.2.2 ARM微处理器简介
1.3 嵌入式系统的组成
1.3.1 嵌入式系统的硬件
1.3.2 嵌入式系统的软件
1.4 嵌入式操作系统
1.4.1 嵌入式操作系统及其特点
1.4.2 几种嵌入式操作系统
习题
第2章 嵌入式处理器体系结构
2.1 嵌入式处理器内核
2.2 ARM体系结构的发展
2.3 ARM体系结构的技术特征
2.4 ARM处理器工作状态与工作模式
2.4.1 ARM处理器工作状态
2.4.2 ARM处理器工作模式
2.5 ARM处理器寄存器组
2.5.1 ARM状态下的寄存器组
2.5.2 Thumb状态下的寄存器组
2.6 ARM处理器的异常中断
2.6.1 ARM异常种类及异常中断向量
2.6.2 异常中断的优先级
2.6.3 ARM异常中断的响应过程
2.6.4 从异常处理程序中返回
2.7 ARM的存储器格式及数据类型
2.7.1 ARM存储字数据的格式
2.7.2 ARM微处理器数据类型
2.8 ARM流水线技术
2.8.1 指令流水线处理
2.8.2 ARM的3级指令流水线
2.8.3 ARM的5级指令流水线
2.9 ARM处理器内核结构
2.9.1 ARM处理器内核概述
2.9.2 ARM7TDMI处理器内核
2.9.3 ARM7TDMI存储器接口
2.9.4 ARM7TDMI的调试接口
2.9.5 ARM920T处理器核
2.9.6 ARM的AMBA总线体系结构
2.9.7 ARM的MMU部件
习题
第3章 典型嵌入式处理器
3.1 LPC2000系列嵌入式微控制器
3.1.1 LPC2000系列微控制器概述
3.1.2 LPC2000系列微控制器结构
3.2 嵌入式微处理器S3C44B0X
3.2.1 S3C44B0X简介
3.2.2 S3C44B0X体系结构
3.2.3 S3C44B0X引脚信号
3.3 S3C44B0X内部可编程组件
3.3.1 存储控制组件
3.3.2 端口组件
3.3.3 中断组件
3.3.4 UART组件
3.3.5 DMA组件
3.3.6 PWM组件
3.3.7 时钟与电源组件
3.3.8 I2C总线组件
3.3.9 I2S总线组件
3.3.10 SIO组件
3.3.11 RTC组件
3.3.12 WDT组件
3.3.13 ADC组件
3.3.14 LCD控制组件
3.4 嵌入式微处理器S3C2410X/S3C2440X
3.4.1 S3C2410X/S3C2440X简介
3.4.2 S3C2410X/S3C2440X体系结构
3.5 AT91系列嵌入式微控制器
3.5.1 AT91系列嵌入式微控制器概述
3.5.2 AT91FR40162嵌入式微控制器
3.6 XScale嵌入式微处理器
3.6.1 XScale微体系结构简介
3.6.2 XScale嵌入式微处理器PXA250
3.7 STR710F系列嵌入式处理器
3.7.1 STR710F系列嵌入式处理器概述
3.7.2 STR710F系列嵌入式处理器的内部体系结构
习题
第4章 嵌入式处理器指令系统
4.1 ARM指令分类及指令格式
4.1.1 ARM指令分类
4.1.2 ARM指令格式
4.1.3 ARM指令中的操作数符号
4.1.4 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.3 ARM指令集
4.3.1 数据处理指令
4.3.2 程序状态寄存器访问指令
4.3.3 分支指令
4.3.4 加载/存储指令
4.3.5 协处理器指令
4.3.6 异常中断指令
4.4 Thumb指令集
4.4.1 数据处理指令
4.4.2 分支指令
4.4.3 加载/存储指令
4.4.4 异常中断指令
习题
第5章 嵌入式系统程序设计基础
5.1 ARM汇编器所支持的伪指令
5.1.1 符号定义伪指令
5.1.2 数据定义伪指令
5.1.3 汇编控制伪指令
5.1.4 宏指令
5.1.5 其他常用的伪指令
5.2 汇编语言的语句格式
5.2.1 在汇编语言程序中常用的符号
5.2.2 汇编语言程序中的表达式和运算符
5.3 ARM汇编语言的程序结构
5.3.1 汇编语言的程序结构
5.3.2 汇编语言的子程序调用
5.3.3 汇编语言与C/C++的混合编程
习题
第6章 嵌入式操作系统μCLinux
6.1 μCLinux概述
6.1.1 背景
6.1.2 μCLinux的特点
6.2 μCLinux体系结构
6.2.1 Linux内核体系结构
6.2.2 μCLinux的内存管理
6.2.3 μCLinux的内核结构
6.2.4 内存保护
6.2.5 编程接口的改变
6.2.6 μCLinux的应用程序库
6.2.7 μCLinux支持的文件系统
6.3 μCLinux在基于S3C44B0X系统上的移植
6.3.1 μCLinux内核移值概述
6.3.2 μCLinux内核移植方法
6.4 开发工具GNU的使用
6.4.1 GCC编译器
6.4.2 GNU Make
6.5 建立μCLinux开发环境
6.5.1 建立交叉编译器
6.5.2 μCLinux针对硬件的改动
6.5.3 μCLinux内核编译
6.5.4 μCLinux内核加载运行
6.6 μCLinux下的应用程序开发
习题
第7章 嵌入式系统的Boot Loader
7.1 Boot Loader概述
7.2 Boot Loader与嵌入式系统的关系
7.2.1 Boot Loader的操作模式
7.2.2 Boot Loader的总体设计
7.3 Boot Loader的主要功能及典型结构
7.3.1 Boot Loader的阶段1
7.3.2 Boot Loader的阶段2
7.4 S3C44B0X下μCLinux的Boot Loader分析
7.5 其他的初始化方式
习题
第8章 嵌入式系统设计
8.1 嵌入式系统设计概述
8.2 嵌入式系统的设计方法
8.2.1 嵌入式系统的设计步骤
8.2.2 嵌入式系统的一般设计方法
8.2.3 嵌入式系统的硬、软件协同设计技术
8.3 ARM处理器芯片的选择
8.3.1 选择ARM处理器芯片应考虑的因素
8.3.2 主要ARM芯片供应商
8.3.3 选择ARM芯片示例
8.4 嵌入式系统应用与接口设计
8.4.1 电源模块的选择及电路设计
8.4.2 时钟源的设计与分配
8.4.3 复位电路设计与模式选择
8.4.4 存储器接口电路设计及应用
8.4.5 键盘及LED显示器接口设计
8.4.6 中断系统应用
8.4.7 LCD控制器接口应用
8.4.8 I2C总线接口应用
8.4.9 SPI总线接口应用
8.4.10 通信接口设计及应用
8.4.11 RTC组件的应用
8.4.12 PWM组件的应用
8.4.13 WDT组件的应用
8.4.14 ADC组件的应用
8.4.15 I2S总线接口应用
8.4.16 USB接口设计及应用
8.4.17 JTAG接口电路设计
8.5 嵌入式系统的软件设计
8.5.1 嵌入式系统的软件设计过程
8.5.2 嵌入式操作系统的选择
8.5.3 嵌入式软件开发工具链的构建
8.6 嵌入式系统开发与调试工具
8.6.1 嵌入式系统硬件开发与调试工具
8.6.2 嵌入式系统软件开发工具
8.7 嵌入式系统设计实例
8.7.1 车载信息系统的功能分析
8.7.2 车载信息系统的设计方案
8.7.3 车载系统硬件设计
8.7.4 车载系统软件设计
习题
附录:关键词索引
参考资料