《基于S3C2440的嵌入式Linux开发实例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:孙弋编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2010
  • ISBN:9787560624099
  • 页数:366 页
图书介绍:本书以目前工业嵌入式领域的ARM9处理器和源码开放的Linux操作系统为基础,系统地介绍了嵌入式系统S3C2440各个接口的应用编程实例。

第1章 嵌入式系统开发基础 1

1.1 嵌入式Linux系统开发模式 1

1.1.1 嵌入式系统设计的特点 3

1.1.2 嵌入式系统的设计流程 4

1.1.3 嵌入式系统的软硬件划分 7

1.1.4 嵌入式系统的产品硬件详细设计 7

1.2 嵌入式系统的软件设计 8

1.2.1 嵌入式软件平台的选择 9

1.2.2 嵌入式软件性能的设计 10

1.2.3 嵌入式软件开发流程 11

1.3 嵌入式开发电路基础 12

1.3.1 电路原理图设计 12

1.3.2 电路PCB设计基础 13

1.3.3 电子电路抗干扰技术 19

1.3.4 PCB设计中常用定义、符号和缩略语 22

1.3.5 PCB工艺设计考虑的基本问题 23

1.3.6 印制板常用基板设计要求 24

1.3.7 PCB制造一般技术要求 25

1.3.8 PCB设计基本工艺要求 25

1.3.9 拼板设计 29

1.3.10 元件的选用原则 32

1.3.11 组装方式 32

1.3.12 元件布局 33

1.3.13 布线要求 37

1.3.14 焊盘与线路的连接 37

1.3.15 大面积电源区和接地区的设计 38

1.3.16 通孔插装元件焊盘设计 39

1.3.17 导通孔的设计 41

1.3.18 阻焊层设计 42

1.3.19 字符图 43

1.3.20 元器件的表示方法 44

第2章 嵌入式微处理器及S3C2440处理器 48

2.1 嵌入式微处理器的结构和类型 48

2.1.1 嵌入式微处理器的分类 48

2.1.2 典型32位ARM微处理器的结构和特点 50

2.2 ARM9微处理器简介 58

2.2.1 ARM9与ARM7处理器的比较 58

2.2.2 三星S3C2440X ARM9处理器基础 59

第3章 Linux Flash驱动及应用实例 62

3.1 Flash简介 62

3.2 S3C2440 Nand Flash接口硬件及寄存器介绍 65

3.2.1 S3C2440 Nand Flash电路介绍 65

3.2.2 Nand Flash寄存器介绍 65

3.3 S3C2440 Flash控制器驱动程序分析 72

3.3.1 寄存器地址和功能定义 72

3.3.2 数据结构和变量描述 73

3.3.3 主要函数描述 77

第4章 S3C2440 SD/MMC Linux驱动及应用案例 90

4.1 SD/MMC概述 90

4.1.1 SD卡总线协议及工作原理 90

4.1.2 SD卡引脚及接口电路 91

4.2 S3C2440 SD/MMC接口寄存器介绍 93

4.3 Linux SD/MMC驱动程序分析 98

4.3.1 寄存器地址和功能定义 98

4.3.2 数据结构和变量描述 101

4.3.3 主要函数描述 104

第5章 S3C2440 I/O接口Linux驱动及应用实例 124

5.1 GPIO接口基础 124

5.2 S3C2440 GPIO接口硬件及寄存器 125

5.2.1 S3C2440 GPIO接口硬件 125

5.2.2 GPIO寄存器 125

5.3 S3C2440 GPIO驱动及LED应用程序分析 134

5.3.1 寄存器地址和功能定义 134

5.3.2 GPIO驱动LED程序主要函数描述 151

5.4 S3C2440 LED应用程序设计例程 153

第6章 Linux下S3C2440串口驱动及应用实例 155

6.1 串口的基本类型 155

6.1.1 RS-232串行接口标准 155

6.1.2 RS-422与RS-485串行接口标准 155

6.2 Linux串口驱动程序与分析 156

6.2.1 串行端口终端(/dev/ttySn) 156

6.2.2 伪终端(/dev/pty/) 157

6.2.3 控制终端(/dev/tty) 157

6.2.4 控制台终端(/dev/ttyn,/dev/console) 157

6.3 基于Linux串口设备驱动程序分析 158

6.3.1 UART驱动结构图 158

6.3.2 UART驱动中重要的数据结构及其关联 158

6.4 S3C2440 UART驱动实例分析 160

6.4.1 串口硬件 160

6.4.2 UART的寄存器 161

6.4.3 S3C2440串口驱动数据结构分析 166

6.4.4 结构体及相关变量定义 167

6.4.5 S3C2440串口驱动主要函数 169

6.5 串口GPS数据的采集例程 182

6.5.1 GPS简介 182

6.5.2 GPS原理 182

6.5.3 GPS协议分析 183

6.5.4 GPS应用的编程实例 184

6.6 小结 189

第7章 S3C2440 SPI接口驱动及CAN协议实现 190

7.1 S3C2440 SPI接口及CAN总线基础 190

7.1.1 SPI接口基础 190

7.1.2 CAN总线基础 193

7.1.3 SPI接口CAN协议实现硬件电路 195

7.2 SPI寄存器 196

7.2.1 SPI寄存器基础(SPCONn) 196

7.2.2 SPI寄存器地址和相关功能 199

7.3 SPI接口CAN协议驱动函数分析 200

7.3.1 SPI接口CAN协议驱动数据结构与相关变量 200

7.3.2 驱动程序结构与主要函数 201

第8章 LCD设备驱动与应用案例 214

8.1 LCD的基本知识 214

8.2 帧缓冲 214

8.2.1 帧缓冲的概念 214

8.2.2 Linux缓冲的相关数据结构 215

8.2.3 帧缓冲的设备驱动程序结构 215

8.2.4 帧设备缓冲的驱动模块主要函数 216

8.3 S3C2440 LCD设备驱动实例 216

8.3.1 S3C2440 LCD设备硬件 216

8.3.2 硬件寄存器定义描述 230

8.3.3 S3C2440 LCD数据结构分析 230

8.3.4 主要函数描述 234

8.4 控制台图像显示实例 243

8.4.1 程序原理 243

8.4.2 主要函数描述 244

第9章 S3C2440 USB接口Linux驱动及应用实例 248

9.1 USB接口介绍 248

9.2 Linux USB驱动结构 249

9.3 S3C2440 USB接口硬件及寄存器 250

9.3.1 S3C2440 USB硬件接口 250

9.3.2 S3C2440 USB硬件接口寄存器 250

9.4 S3C2440 USB主机驱动程序分析 251

9.4.1 寄存器地址和功能定义 252

9.4.2 结构体及相关变量定义 252

9.4.3 主要函数描述 254

9.5 ZC301 USB摄像头驱动实例 257

9.5.1 主要的数据结构与相关变量定义 257

9.5.2 主要函数分析 258

9.6 USB网络摄像头应用实例 270

9.6.1 V4L介绍 270

9.6.2 主要的数据结构 271

9.6.3 主要函数描述 272

9.6.4 参考代码 280

第10章 S3C2440 A/D接口和触摸屏Linux驱动及应用实例 288

10.1 S3C2440 A/D接口驱动分析 288

10.1.1 S3C2440 A/D接口 288

10.1.2 S3C2440 A/D寄存器介绍 291

10.1.3 S3C2440 A/D驱动程序分析 293

10.1.4 S3C2440 A/D应用设计例程 298

10.2 触摸屏设备驱动 300

10.2.1 触摸屏的硬件原理 300

10.2.2 触摸屏设备驱动分析 302

第11章 Linux下网卡驱动及应用实例 311

11.1 Linux网络设备的驱动基础 311

11.2 基于Linux的网络设备驱动程序分析 311

11.2.1 数据结构struct net_device 312

11.2.2 数据结构struct sk_buff 318

11.2.3 主要函数描述 322

11.3 基于CS8900网络设备驱动设计实例 328

11.3.1 CS8900网卡硬件描述 328

11.3.2 CS8900网卡驱动设计分析 330

11.4 网络应用 351

11.4.1 ICMP协议(Internet控制报文协议) 356

11.4.2 ICMP报文 356

11.5 Web服务器Boa移植实例 363

11.5.1 移植步骤 364

11.5.2 Boa的配置 364

11.5.3 Boa运行 364

参考文献 365