第1章 系统概述 1
1.1 嵌入式系统 1
1.1.1 嵌入式系统简述 1
1.1.2 嵌入式系统的构成 2
1.1.3 嵌入式系统的特点 7
1.1.4 嵌入式系统的应用领域 8
1.1.5 嵌入式系统的发展趋势 8
1.2 ARM嵌入式系统 9
1.2.1 ARM简介 9
1.2.2 ARM处理器的应用领域 10
1.2.3 ARM处理器的特点 10
1.2.4 ARM处理器的分类 10
1.2.5 ARM处理器工作模式简介 11
1.2.6 ARM处理器内部寄存器简介 11
1.2.7 ARM处理器的异常向量列表 12
第2章 基于ARM9的开发平台硬件介绍 14
2.1 开发板概述 14
2.2 电源 16
2.3 CPU最小系统 16
2.4 人机接口 17
2.5 设备间数据传输和IDE接口 17
2.6 数据采集和I/O端口控制 17
2.7 其他 18
第3章 ADS下的硬件电路调试 19
3.1 概述 19
3.2 嵌入式系统的开发步骤及方法 19
3.3 测试内容清单及各部分实现功能 28
3.3.1 前10项内容的统一测试 29
3.3.2 Flash测试 31
3.3.3 CAN总线测试 32
3.3.4 IIC总线读取RTC芯片测试 36
3.3.5 IDE硬盘测试 37
3.3.6 A/D转换测试 41
3.3.7 D/A转换测试 44
3.3.8 PS/2测试 46
3.3.9 SPI测试 46
3.3.10 RS488测试 48
3.3.11 网口测试 50
第4章 EP9315的启动代码——Redboot 54
4.1 bootloader介绍 54
4.1.1 bootloader的基本概念 54
4.1.2 bootloader的操作模式 55
4.1.3 bootloader程序设计及地址规划 55
4.2 Redboot介绍 57
4.2.1 Redboot的功能概述 57
4.2.2 Redboot的文件结构 57
4.2.3 Redboot的启动模式 58
4.2.4 X86平台下eCos开发环境的建立 58
4.3 Redboot移植 61
4.3.1 移植的重点 61
4.3.2 平台抽象层的移植 62
4.3.3 有关设备驱动的移植 65
4.3.4 实现64MBFlash容量所做的移植工作 65
4.4 下载和使用Redboot 66
4.4.1 下载Redboot 66
4.4.2 配置和使用Redboot 70
4.4.3 下载Linux内核和文件系统 70
第5章 内核移植与编译 77
5.1 虚拟机的使用 77
5.2 Linux简介 80
5.3 配置及编译过程 86
第6章 嵌入式Linux设备驱动程序的设计与实现 92
6.1 嵌入式Linux驱动程序简介 92
6.2 嵌入式Linux驱动程序框架 93
6.3 嵌入式Linux模块化驱动程序设计 94
6.4 嵌入式Linux的CAN总线通信 95
6.4.1 CAN设备驱动程序设计 95
6.4.2 CAN总线通信的测试 97
6.5 嵌入式Linux的IIC总线通信 101
6.5.1 IIC总线概述 101
6.5.2 IIC总线驱动程序的设计 102
6.5.3 DS1337驱动程序测试 103
6.6 嵌入式Linux的D/A转换 103
6.6.1 MAX5821驱动程序设计 103
6.6.2 MAX5821驱动程序测试 105
6.7 嵌入式Linux的A/D转换 107
6.7.1 MAX1261驱动程序设计 107
6.7.2 MAX1261驱动程序测试 108
6.8 嵌入式Linux的PS/2键盘 111
6.8.1 键盘工作原理 111
6.8.2 PS/2模块硬件连接 112
6.8.3 键盘驱动程序的设计 112
6.8.4 测试步骤 114
6.8.5 调试中的注意事项 114
6.9 嵌入式Linux的8255驱动 114
6.9.1 8255芯片原理 114
6.9.2 Linux下8255驱动的实现 116
6.10 嵌入式Linux的PWM驱动 117
6.10.1 PWM控制器介绍 117
6.10.2 PWM驱动设计 118
6.11 嵌入式Linux的串口驱动 119
6.11.1 UART串行口数据传输格式 119
6.11.2 EP9315的UART串口传输波特率 120
6.11.3 EP9315的UART串口模块及其工作原理 122
6.11.4 EP9315的RS232/RS485/RS488接口电路 123
6.11.5 RS485/RS488/RS232通信的两种实现方式 124
6.12 LCD测试 137
6.12.1 LCD原理简介 137
6.12.2 测试程序开发 138
6.13 矩阵键盘 140
6.13.1 键盘概述 140
6.13.2 键盘工作原理 141
6.13.3 键盘驱动设计 142
参考文献 144