内容简介
第1章 绪论
1.1 嵌入式系统的基本概念
1.2 嵌入式系统的特征
1.2.1 嵌入式系统的基本特征
1.2.2 嵌入式系统特征的模糊化
1.3 嵌入式系统的组成要素
1.3.1 嵌入式处理器
1.3.2 嵌入式操作系统
第2章 嵌入式系统的设计方法
2.1 嵌入式系统设计的基本流程
2.1.1 需求分析
2.1.2 详细说明
2.1.3 结构设计
2.1.4 组件设计
2.1.5 系统集成
2.2 嵌入式系统设计的流程模型
2.2.1 瀑布模型
2.2.2 逐步求精模型
2.2.3 螺旋模型
2.2.4 分层设计模型
2.2.5 其他流程模型
第3章 嵌入式系统的基础知识
3.1 基本概念
3.1.1 存储器结构
3.1.2 流水线技术
3.1.3 CISC&RISC
3.1.4 大端存储和小端存储
3.1.5 存储器管理单元MMU
3.1.6 BSP
3.1.7 BootLoader和OSLoader
3.1.8 进程和线程
3.2 开发相关知识
3.2.1 ICE和ICD
3.2.2 其他硬件调试工具
3.2.3 JTAG
3.2.4 编译器和交叉编译器
3.2.5 模拟器和仿真器
第4章 嵌入式系统的开发模式
4.1 面向硬件的开发模式
4.1.1 适用情况
4.1.2 需要的工具
4.1.3 开发场景
4.2 面向操作系统的开发模式
4.2.1 适用情况
4.2.2 需要的工具
4.2.3 开发场景
4.3 开发模式的控制
第5章 ARM处理器概述
5.1 ARM处理器概述
5.1.1 ARM的发展历史
5.1.2 ARM处理器的特点
5.1.3 ARM微处理器系列
5.1.4 ARM微处理器的应用选型
5.2 ARM微处理器的工作状态和工作模式
5.2.1 工作状态
5.2.2 ARM的工作模式
5.3 ARM微处理器的寄存器
5.3.1 ARM微处理器的寄存器结构
5.3.2 Thumb状态下的寄存器组织
5.4 ARM处理器的存储器组织结构
5.4.1 ARM的数据类型
5.4.2 存储器的格式
5.5 ARM处理器的异常
5.5.1 ARM体系结构所支持的异常类型
5.5.2 异常优先级(Exception Priorities)
5.5.3 应用程序中的异常处理
5.5.4 对异常的响应
5.5.5 异常返回
5.5.6 异常进入/退出时的指令
第6章 ARM指令系统
6.1 ARM处理器的寻址方式
6.1.1 立即数寻址
6.1.2 寄存器寻址
6.1.3 寄存器偏移寻址
6.1.4 寄存器间接寻址
6.1.5 寄存器基址变址寻址
6.1.6 多寄存器寻址
6.1.7 相对寻址
6.1.8 堆栈寻址
6.1.9 块拷贝寻址
6.2 ARM指令集合
6.2.1 ARM指令的基本格式
6.2.2 ARM指令详解
6.3 Thumb指令集合
6.3.1 Thumb指令集合
6.3.2 Thumb指令集与ARM指令集的区别
6.3.3 Thumb存储器访问指令
6.3.4 Thumb数据处理指令
6.3.5 Thumb跳转指令
6.3.6 Thumb杂项指令
6.4 伪指令
6.4.1 符号定义伪指令
6.4.2 数据定义伪指令
6.4.3 报告伪指令
6.4.4 汇编控制伪指令
6.4.5 杂项伪指令
6.4.6 ARM伪指令
6.4.7 Thumb伪指令
第7章 ARM程序设计
7.1 ARM汇编语言程序设计
7.1.1 汇编语言的语句格式
7.1.2 汇编程序中的符号
7.1.3 汇编语言程序中的表达式和运算符
7.1.4 汇编语言的程序结构
7.1.5 汇编语言程序设计举例
7.2 汇编语言与C/C++的混合编程
7.2.1 ATPCS规则
7.2.2 内嵌汇编
7.2.3 C程序与汇编程序相互调用
7.3 ARM集成开发环境ADS的使用
7.3.1 ADS简介
7.3.2 ADS快速使用教程
7.3.3 ADS具体介绍
第8章 嵌入式操作系统
8.1 嵌入式操作系统的发展
8.2 软件编程模式
8.2.1 无操作系统的软件编程模式
8.2.2 有操作系统的编程模式
8.3 嵌入式操作系统的特点
8.4 实时操作系统
8.4.1 实时和分时操作系统
8.4.2 实时操作系统的特点
第9章 嵌入式Linux操作系统概述
9.1 Linux的诞生
9.2 Linux相关的概念
9.2.1 Minix
9.2.2 Unix
9.2.3 共享软件(Shareware)
9.2.4 自由软件(Freeware或FreeSoftware)
9.2.5 免费软件(Freeware)
9.2.6 通用软件许可证(GPL,General Public License)
9.2.7 GNU
9.2.8 LGPL(Lesser GPL)
9.2.9 BSD
9.3 Linux操作系统的组成及其版本
9.3.1 Linux操作系统的组成
9.3.2 Linux的版本
9.4 Linux的特点
9.4.1 Linux的优点和不足
9.4.2 Linux下的硬盘分区与文件系统
9.5 嵌入式Linux的概念
9.6 嵌入式Linux操作系统介绍
9.6.1 uClinux
9.6.2 RTLinux
9.6.3 DSPLinux
第10章 嵌入式Linux的开发
10.1 嵌入式Linux开发步骤
10.2 开发环境的构建
10.2.1 安装Linux操作系统
10.2.2 配置开发工具
10.3 BootLoader的开发
10.3.1 BootLoader的基本知识
10.3.2 BootLoader的开发过程
10.3.3 BootLoader的移植
10.4 Linux系统的构建
10.4.1 Linux内核的构建
10.4.2 Linux根文件系统的构建
10.4.3 针对嵌入式应用的Linux系统开发
10.5 Linux系统下设备驱动程序的开发
10.5.1 Linux设备驱动程序的概念
10.5.2 设备的类型
10.5.3 特殊设备的使用
10.5.4 设备文件的创建
10.5.5 设备驱动程序的开发
10.5.6 设备驱动程序中的问题
10.6 Linux应用程序开发
10.6.1 几种流行的GUI
10.6.2 Qt/Embedded编程
10.6.3 Qt/Embedded编程示例
10.7 Linux系统的启动流程
10.7.1 内核的引导
10.7.2 运行init
10.7.3 系统初始化
10.7.4 启动对应运行级别的守护进程
10.7.5 建立终端
10.7.6 登录系统
10.8 常用的Linux工具和命令
10.8.1 vi的使用
10.8.2 GCC的使用
10.8.3 gdb的使用
10.8.4 ncftp工具的使用
10.8.5 mount和unmount指令
10.8.6 基本命令
10.8.7 Linux下软件安装指令
第11章 Linux系统构建的实战练习
11.1 使用现成工具构建U盘Linux
11.1.1 使用pup2 usb进行构建
11.1.2 使用Ultra ISO进行构建
11.2 从零开始构建自己的U盘Linux
11.2.1 前期准备
11.2.2 编译Linux内核
11.2.3 在U盘上建立根文件系统
11.2.4 安装grub到U盘中
11.2.5 使用initrd内核作为根文件系统
第12章 Android的开发与应用
12.1 Android操作系统简介
12.1.1 Android系统构架
12.1.2 Android系统开发环境的构建
12.1.3 Android应用程序开发实例
第13章 iPhone OS应用程序的开发
13.1 苹果操作系统简介
13.2 iPhone开发环境的构建
13.2.1 Mac OS虚拟机的安装
13.2.2 XCode和iPhone SDK的介绍与安装
13.3 iPhone应用程序的开发示例
第14章 Windows CE操作系统
14.1 微软的嵌入式产品简介
14.1.1 Windows Embedded Compact平台
14.1.2 Windows Embedded Standard平台
14.1.3 Windows Embedded Enterprise平台
14.1.4 Windows Embedded Server平台
14.1.5 Windows Phone 8平台
14.2 Windows CE简介
14.3 Windows CE的中断处理机制
14.3.1 中断体系结构
14.3.2 中断延迟
14.4 Windows CE的进程和线程
14.4.1 CE的进程
14.4.2 CE的线程
14.4.3 进程之间的通信
14.5 Windows CE的内存管理
14.5.1 内存结构
14.5.2 进程地址空间结构
14.5.3 堆和栈的内存分配
14.5.4 内存映射文件
14.6 Windows CE的编程模式
14.6.1 基于Win32的程序开发
14.6.2 基于MFC的程序开发
14.6.3 基于Microsoft.NET Framework精简版的程序开发
14.7 Windows CE 5.0的开发
14.7.1 开发层面
14.7.2 开发实例
14.7.3 CE系统的引导方式及其BootLoader
14.8 Windows Embedded Compact 7的开发
14.8.1 Windows Embedded Compact 7开发环境的构建
14.8.2 Windows Embedded Compact 7应用程序的开发
第15章 Windows Phone的开发
15.1 Windows Phone 7的开发
15.1.1 Windows Phone 7简介
15.1.2 Windows Phone 7开发环境的搭建
15.1.3 Windows Phone 7简单例程的开发
15.2 Windows Phone 8的开发
15.2.1 Windows Phone 8简介
15.2.2 Windows Phone 8的开发环境的构建
15.2.3 Windows Phone 8应用程序开发
参考文献