第1章 嵌入式系统概述 1
1.1 什么是嵌入式系统 1
1.2 嵌入式系统的特点 1
1.3 嵌入式系统的发展 3
1.4 嵌入式系统的组成 4
1.4.1 嵌入式处理器 5
1.4.2 嵌入式操作系统 12
1.5 嵌入式系统开发关键技术 19
1.5.1 开发流程 19
1.5.2 交叉编译和链接 20
1.5.3 交叉调试 20
1.5.4 系统测试 23
1.6 嵌入式系统的应用 23
第2章 ARM微处理器 25
2.1 ARM简介 25
2.2 ARM微处理器的结构 25
2.3 ARM微处理器的编程模型 27
2.3.1 数据类型 27
2.3.2 处理器状态 27
2.3.3 处理器模式 28
2.3.4 寄存器组织 29
2.3.5 程序状态寄存器 32
2.3.6 异常 34
2.4 ARM微处理器的指令系统 35
2.4.1 指令格式 36
2.4.2 寻址方式 37
2.4.3 ARM指令集 39
2.4.4 Thumb指令集简介 42
2.5 ARM微处理器的命名规则 43
2.6 ARM微处理器系列 44
第3章 嵌入式Linux 47
3.1 嵌入式Linux简介 47
3.2 嵌入式Linux内核体系结构 49
3.2.1 进程管理 50
3.2.2 内存管理 51
3.2.3 文件系统 51
3.2.4 系统调用 51
3.2.5 设备驱动程序 52
3.3 嵌入式Linux的剪裁 54
3.3.1 内核剪裁 54
3.3.2 库文件及根文件系统剪裁 54
3.4 嵌入式Linux开发环境 55
3.4.1 集成调试环境 55
3.4.2 GNU开发工具 55
3.5 Linux常用命令 60
第4章 ADS开发板及集成开发环境 74
4.1 简介 74
4.1.1 ADS开发板的特点 74
4.1.2 系统要求 75
4.1.3 主要元器件分布图 75
4.2 ADS板的配置 77
4.2.1 跳线设置开关 79
4.2.2 模式选择开关 79
4.3 ADS板的组成部分 80
4.4 ADS板外部接口描述 83
4.5 ADS软件开发环境 87
4.5.1 Multi-ICE Server 88
4.5.2 ADS 1.2 90
第5章 嵌入式系统软件开发 98
5.1 Linux编程简介 98
5.1.1 应用程序编写 98
5.1.2 驱动程序编写 99
5.2 建立交叉编译环境 100
5.3 编译Linux内核 101
5.4 生成根文件系统 101
5.5 烧写Bootloader映像、内核和启动盘映像 102
5.6 运行图形用户界面 106
5.7 使用GDB调试应用程序 106
5.8 开发工具介绍 107
第6章 基于ADS开发板的嵌入式系统实验 109
6.1 实验一 ADS系统加载 109
6.2 实验二 利用HAB工具烧写程序 110
6.3 实验三 利用BootStrap模式进行调试 114
6.4 实验四 下载Bootloader 115
6.5 实验五 ARM Linux系统移植 117
6.6 实验六 嵌入式Linux驱动程序的编写 119
6.7 实验七 嵌入式Linux应用程序的编写 123
6.8 实验八 利用集成调试环境(IDE)调试应用程序 124
6.9 实验九 串口通信 126
6.10 实验十 网络通信 127
6.11 实验十一 USB通信 128
6.12 实验十二 MP3播放 128
6.13 实验十三 MMC卡读写 129
6.14 实验十四 PWM实验 129
6.15 实验十五 键盘输入输出 130
6.16 实验十六 开关量输入输出 131
6.17 实验十七 模拟PDA的液晶与触摸屏 132
6.18 实验十八 Linux点阵字库的使用 132
6.19 实验十九 移植MiniGUI 135
6.20 实验二十 图像传感器视频采集与显示 146
参考文献 148