目录 1
第1章 EP93XX系列微处理器概述 1
1.1 EP93XX系列嵌入式微处理器 1
1.2 EP9301的结构特征与应用领域 2
1.2.1 EP9301的主要特性 2
1.2.2 EP9301的内部结构 3
1.2.3 EP9301的应用领域 4
1.2.4 EP9301概述 4
1.3 EP9302的结构特征与应用领域 7
1.3.1 EP9302的主要特性 7
1.3.2 EP9302的内部结构 8
1.3.3 EP9302的应用领域 9
1.3.4 EP9302概述 9
1.4 EP9307的结构特征与应用领域 12
1.4.1 EP9307的主要特性 13
1.4.2 EP9307的内部结构 14
1.4.3 EP9307的应用领域 14
1.4.4 EP9307概述 15
1.5 EP9312的结构特征与应用领域 19
1.5.1 EP9312的主要特性 19
1.5.2 EP9312的内部结构 20
1.5.4 EP9312概述 21
1.5.3 EP9312的应用领域 21
1.6 EP9315的结构特征与应用领域 25
1.6.1 EP9315的主要特性 25
1.6.2 EP9315的内部结构 26
1.6.3 EP9315的应用领域 27
1.6.4 EP9315概述 27
1.7 EP93XX系列与其他主要ARM9微处理器的性能对比 31
1.8 本章小结 32
第2章 EP93XX系列微处理器的片内资源 33
2.1 EP93XX系列嵌入式微处理器的片内资源 33
2.2 ARM920T核与先进高速总线 34
2.3 Boot ROM及系统启动 35
2.3.1 Boot ROM及地址映射 35
2.3.2 Boot ROM的功能描述 35
2.3.3 系统的启动配置 37
2.4 MaverickCrunchTM数学引擎 39
2.5 系统控制器 40
2.5.1 系统复位与启动 40
2.5.2 硬件配置控制 40
2.5.3 时钟控制 41
2.5.4 电源管理 42
2.6 向量中断控制器 43
2.6.1 中断优先级 44
2.6.2 中断源描述 44
2.7 以太网控制器 46
2.8 DMA控制器 47
2.9 USB主控制器 47
2.10 静态存储器控制器 48
2.11 SDRAM控制器 48
2.12 UART接口 49
2.13 红外接口 49
2.14.1 16位和32位定时器 50
2.14 定时器 50
2.14.2 40位定时器 51
2.15 看门狗定时器 51
2.16 I2S控制器 52
2.17 AC'97控制器 53
2.18 同步串行接口 53
2.19 脉冲宽度调制器 53
2.20 ADC接口/触摸屏接口 54
2.21 键盘接口 55
2.22 IDE接口 55
2.23 Raster/LCD控制器 55
2.27 安全特性 57
2.26 GPIO接口 57
2.24 图像加速器 57
2.25 PCMCIA接口 57
2.28 本章小结 58
第3章 基于EP93XX系列微处理器的系统设计 59
3.1 嵌入式系统设计的一般原则 59
3.2 基于EP9301/EP9302的硬件系统设计 59
3.2.1 电源电路 60
3.2.2 晶振电路 62
3.2.3 复位电路 62
3.2.4 FLASH存储器接口电路 63
3.2.5 SDRAM接口电路 67
3.2.6 启动配置电路 69
3.2.7 RS232接口电路 70
3.2.8 RS485接口电路 71
3.2.9 USB接口电路 73
3.2.10 以太网络接口电路 73
3.2.11 JTAG调试接口电路 77
3.2.12 音频接口电路 78
3.2.13 系统状态指示电路 80
3.3 基于EP9307的硬件系统设计 81
3.3.1 SDRAM接口电路 82
3.3.2 FLASH存储器接口电路 84
3.3.3 红外接口电路 85
3.3.4 启动配置电路 86
3.3.5 LCD/TS接口电路 87
3.3.6 键盘接口电路 87
3.4 基于EP9312/15的硬件系统设计 89
3.4.1 IDE接口电路 91
3.4.2 PCMCIA接口电路 91
3.5 本章小结 95
4.1 嵌入式系统的BootLoader 96
4.1.1 BootLoader的一般概念 96
第4章 Redboot与eCos 96
4.1.2 BootLoader的主要任务 97
4.2 Redboot简介及常用命令 99
4.2.1 Redboot简介 99
4.2.2 Redboot命令集 99
4.3 在基于EP93XX的系统上运行Redboot及嵌入式Linux 106
4.3.1 运行Redboot 106
4.3.2 使用Redboot加载运行嵌入式Linux 108
4.4 eCos概述与特性 110
4.4.1 eCos概述 110
4.4.2 eCos特性分析 111
4.5 eCos开发环境的建立 112
4.5.1 Cygwin软件的安装 113
4.5.2 eCos源码的安装 113
4.5.3 相关工具的安装 113
4.5.4 运行eCos开发环境 114
4.6 eCos在特定嵌入式系统的移植 115
4.6.1 eCos的基本体系结构 115
4.6.2 eCos的移植方法 117
4.6.3 eCos在EP93XX系列微处理器上的移植 120
4.7 基于eCos的简单应用程序开发 121
4.7.1 生成eCos的支持库文件 121
4.7.2 应用程序开发与调试 122
4.8 本章小结 124
第5章 嵌入式Linux开发基础 125
5.1 嵌入式Linux概述 125
5.2 嵌入式Linux开发环境的建立 127
5.2.1 嵌入式Linux开发环境的基本结构 127
5.2.2 在Linux服务器上安装交叉编译工具 128
5.2.3 arm-linux-gcc 131
5.3 嵌入式Linux内核的配置与编译 132
5.3.1 获取Linux内核源代码 132
5.3.2 Linux内核配置 133
5.4 根文件系统及制作 136
5.3.3 Linux内核编译 136
5.5 网络文件系统(NFS)及配置 138
5.6 嵌入式Linux应用程序的开发 141
5.6.1 应用程序的开发流程 141
5.6.2 一个最简单的应用程序 143
5.7 嵌入式Linux应用程序的调试方法 145
5.7.1 在Linux服务器上使用GDB调试程序 146
5.7.2 在嵌入式目标系统上使用GDB调试程序 149
5.8 本章小结 152
6.1 Linux设备驱动程序开发 153
6.1.1 Linux设备驱动概述 153
第6章 嵌入式Linux的应用开发 153
6.1.2 字符设备 155
6.1.3 块设备 157
6.1.4 网络设备 157
6.2 Linux字符设备驱动的开发 157
6.2.1 设备驱动程序 158
6.2.2 把设备驱动程序编译到Linux内核 162
6.2.3 通过应用程序访问设备 164
6.3 网络应用程序的开发 166
6.4 基于串行通信的应用程序开发 171
6.4.1 打开串口 177
6.4.2 设置串口 178
6.4.3 串口通信 182
6.4.4 关闭串口 182
6.5 基于Web的应用程序开发 182
6.5.1 嵌入式Web服务器移植 183
6.5.2 Web方式应用开发 187
6.6 图形应用开发 198
6.6.1 嵌入式图形系统概述 198
6.6.2 MiniGUI的移植和应用开发 206
6.7 本章小结 219
7.1 系统的需求分析 220
第7章 一个完整的应用开发实例 220
7.2 硬件平台的选择与设计 222
7.3 软件系统的移植与应用开发 224
7.3.1 GPRS联网 224
7.3.2 网络地址转换 229
7.3.3 Web配置应用 233
7.3.4 串行设备的网络接入 235
7.3.5 其他相关配套程序 245
7.4 本章小结 256
附录 相关术语 258
参考文献 259