《ARM9嵌入式系统设计与开发教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:于明,范书瑞,曾祥烨编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121024209
  • 页数:324 页
图书介绍:作为一种16/32位的高性价比的RSIC处理器,ARM成为应用最广泛的嵌入式微处理器之一。目前最流行的当属ARM7和ARM9两个系列。随着对系统性能要求的提高和开发技术的成熟,ARM9有逐渐占领高中端市场的趋势。本书以ARM9处理器和Linux操作系统为主线,全面介绍了嵌入式系统的开发过程,详细讲解了系统的软硬件设计、调试,以及嵌入式操作系统移植和嵌入式驱动程序开发,从部件编程到嵌入式应用程序设计,都给出了大量的实例。设计实例的源代码和开发过程所需的配置文件均可从网上下载。本书内容适用易懂,可作为本科生和研究生教程,也可作为嵌入式开发人员的参考用书。

第1章 嵌入式系统设计基础 1

1.1 嵌入式系统简介 1

1.1.1 嵌入式系统的定义 1

1.1.2 嵌入式系统的组成 2

1.1.3 嵌入式系统的特点 3

1.1.4 嵌入式系统的应用 4

1.1.5 嵌入式系统的发展 5

1.2 嵌入式处理器 7

1.2.1 嵌入式处理器的分类 7

1.2.2 ARM微处理器 9

1.2.3 Nios微处理器 12

1.2.4 DSP 15

1.2.5 嵌入式微处理器的选型原则 16

1.3 嵌入式操作系统 17

1.3.1 操作系统的概念和分类 17

1.3.2 Linux 19

1.3.3 μC/OS 20

1.3.4 Windows CE 20

练习题 21

2.1 Linux及其应用 22

2.1.1 Linux与UNIX和GNU 22

第2章 嵌入式Linux操作系统 22

2.1.2 Linux的特点 23

2.1.3 Linux的发展及应用 25

2.2 Linux内核 27

2.2.1 Linux的内核特征 27

2.2.2 进程管理 28

2.2.3 内存管理 35

2.2.4 文件系统管理 39

2.2.5 设备管理 42

2.2.6 进程间通信机制 44

2.3.1 μCLinux 48

2.3 典型嵌入式Linux系统 48

2.3.2 RTLinux 50

2.3.3 Monta Vista Linux 51

2.3.4 RTAI 52

练习题 53

第3章 嵌入式系统的设计方法 54

3.1 嵌入式系统的总体结构 54

3.1.1 硬件层 54

3.1.2 中间层 55

3.1.3 软件层 55

3.1.4 功能层 55

3.2.1 嵌入式系统的开发特点 56

3.2 嵌入式系统开发过程 56

3.2.2 嵌入式系统的开发流程 57

3.2.3 调试嵌入式系统 58

3.3 ADS集成开发环境的使用 59

3.3.1 ADS组成介绍 59

3.3.2 命令行开发工具 61

3.3.3 利用ADS开发应用程序 65

3.3.4 编译和链接工程 69

3.4 用AXD进行代码调试 73

3.4.1 调试架构 73

3.4.2 Multi-ICE的配置 74

3.4.3 使用AXD进行代码调试 77

3.4.4 生成.bin文件 79

练习题 79

第4章 应用系统设计 80

4.1 系统设计概述 80

4.2 ARM920T简介 81

4.2.1 ARM920T系统结构分析 81

4.2.2 ARM920T内核编程模型 81

4.3 S3C2410X处理器详解 90

4.3.1 S3C2410X及片内外围简介 90

4.3.2 特殊功能寄存器 92

4.4 单元电路设计 103

4.4.1 电源电路设计 104

4.4.2 晶振电路设计 105

4.4.3 复位电路设计 105

4.4.4 串行接口电路设计 106

4.5 存储器系统设计 108

4.5.1 8位存储器接口设计 108

4.5.2 Flash接口电路设计 109

4.5.3 SDRAM接口电路设计 114

4.6 JTAG调试接口设计 116

4.6.1 JTAG综述 117

4.6.2 TAP状态机 118

4.6.3 接口电路设计 124

4.7 综合训练之通过JTAG访问外设 125

4.7.1 烧写Flash 125

4.7.2 访问处理器寄存器 127

练习题 128

第5章 嵌入式Linux应用程序开发 129

5.1 开发环境的建立 129

5.1.1 嵌入式Linux的开发环境 129

5.1.2 利用Cygwin建立模拟环境 130

5.1.3 交叉编译环境的建立 131

5.2 Linux及开发工具的使用 133

5.2.1 Linux常用命令 134

5.2.2 gcc编译器的使用 144

5.2.3 Makefile文件和Make命令 146

5.2.4 配置文件 151

5.2.5 Vi编辑器的使用 153

5.2.6 Linux下C语言编程 155

5.3 引导程序的移植 159

5.3.1 嵌入式Linux的引导机理分析 159

5.3.2 VIVI简介 163

5.3.3 VIVI的代码分析与移植 164

5.4.1 内核移植 167

5.4 Linux操作系统的移植 167

5.4.2 系统移植 170

5.5 应用程序的调试 171

5.5.1 建立连接 171

5.5.2 编写应用程序 174

5.5.3 下载应用程序 175

5.5.4 调试应用程序 176

5.6 综合训练之建立嵌入式操作系统 179

练习题 182

第6章 嵌入式Linux驱动程序开发 184

6.1 嵌入式Linux的设备管理 184

6.1.1 处理器与设备间数据交换方式 184

6.1.2 设备驱动程序的概念 185

6.1.3 驱动程序结构 186

6.2 设备驱动程序的开发过程 191

6.2.1 模块化驱动程序设计 191

6.2.2 设备注册和初始化 192

6.2.3 中断管理 193

6.2.4 设备驱动开发的基本函数 194

6.2.5 加载和卸载驱动程序 196

6.3 LED驱动程序设计 197

6.3.1 LED接口设计 197

6.3.2 LED驱动程序代码分析 200

6.3.3 加载运行LED驱动程序 202

6.4 按键驱动程序设计 204

6.4.1 S3C2410X中断控制器 204

6.4.2 S3C2410X中断接口函数 206

6.4.3 键盘驱动代码设计 210

6.4.4 按键测试程序的实现 214

练习题 217

第7章 嵌入式网络程序设计 218

7.1 嵌入式以太网基础知识 218

7.1.1 以太网技术及其嵌入式应用 218

7.1.2 嵌入式系统中主要处理的网络协议 220

7.2.1 网络设备驱动程序基本结构 223

7.2 以太网接口设计 223

7.2.2 基于CS8900A的以太网接口设计 231

7.2.3 网络驱动程序实例 233

7.3 Linux网络编程实现 242

7.3.1 socket基本函数 242

7.3.2 TCP编程实例 247

7.3.3 综合训练之UDP编程实现 249

练习题 253

第8章 Linux下音频设备编程 254

8.1 音频信号基础 254

8.1.1 数字音频信号 254

8.1.2 音频文件格式 255

8.1.3 WAVE文件格式剖析 257

8.2 基于IIS接口的音频系统 258

8.2.1 IIS接口控制原理 258

8.2.2 音频接口电路设计 260

8.2.3 音频接口程序设计 260

8.3 音频设备程序的实现 266

8.3.1 音频编程接口 266

8.3.2 音频设备文件 268

8.3.3 音频设备编程设计 269

8.4 综合训练之媒体播放器移植 278

练习题 279

9.1 Linux图形开发基础 280

9.1.1 GUI的一般架构 280

第9章 嵌入式Linux用户图形界面编程 280

9.1.2 嵌入式GUI底层支持库 281

9.1.3 嵌入式GUI高级函数库 285

9.2 嵌入式Linux图形用户界面简介 286

9.2.1 Qt/Embedded 286

9.2.2 Microwindows/Nano-X 286

9.2.3 MiniGUI 287

9.2.4 OpenGUI 287

9.3.1 Qt/Embedded概述 288

9.3 Qt/Embedded嵌入式图形开发基础 288

9.3.2 创建Qt/Embedded开发环境 290

9.3.3 Qt/Embedded的使用 293

9.4 综合训练之Hello程序 305

9.4.1 Qt/Embedded开发流程 305

9.4.2 基于PC的Hello程序 307

9.4.3 发布Qt/Embedded程序到目标板 315

练习题 315

附录A S3C2410X引脚及信号定义 317

参考文献 323