《ARM嵌入式Linux系统开发从入门到精通》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:李亚锋,欧文盛等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302156875
  • 页数:309 页
图书介绍:本书介绍ARM嵌入式Linux系统开发的技术。

第一部分 ARM Linux系统移植 2

第1章 嵌入式系统开发入门 2

1.1 嵌入式系统介绍 2

1.1.1 嵌入式系统概述 2

1.1.2 嵌入式系统组成 4

1.2 ARM介绍 5

1.2.1 ARM处理器介绍 5

1.2.2 ARM处理器的选型 6

1.2.3 S3C2410微处理器介绍 7

1.3 ADS集成开发环境介绍 8

1.3.1 ADS软件组成 8

1.3.2 使用Code Warrior IDE 13

1.3.3 使用AXD IDE 16

1.4 嵌入式Linux开发介绍 19

1.4.1 Linux历史 19

1.4.2 Linux开发环境 20

1.4.3 GCC介绍 21

1.4.4 GNU Make介绍 23

1.4.5 GDB介绍 26

1.4.6 ARM Linux系统开发流程 29

1.5 Linux内核介绍 30

1.5.1 Linux内核目录结构 31

1.5.2 如何阅读Linux内核源代码 33

1.6 本章小结 34

1.7 常见问题 34

第2章 交叉编译工具链的构建 36

2.1 交叉编译工具链介绍 36

2.2 构建ARM Linux交叉编译工具链 36

2.2.1 分步构建交叉编译链 37

2.2.2 用Crosstool工具构建交叉工具链 43

2.3 本章小结 46

2.4 常见问题 46

第3章 嵌入式系统的BootLoader 48

3.1 BootLoader概述 48

3.2 常用的嵌入式Linux BootLoader 49

3.2.1 U-Boot 49

3.2.2 VIVI 50

3.2.3 Blob 51

3.2.4 RedBoot 51

3.2.5 ARMboot 51

3.2.6 DIY 51

3.3 基于S3C2410开发板的BootLoader实现 52

3.3.1 S3C2410开发板介绍 52

3.3.2 U-Boot分析与移植 53

3.4 基于S3C2410开发板自己编写BootLoader 77

3.4.1 设计系统的启动流程 77

3.4.2 BootLoader的具体实现 78

3.5 本章小结 84

3.6 常见问题 85

第4章 嵌入式Linux内核移植 86

4.1 移植的基本概念 86

4.2 内核移植的准备 87

4.3 内核移植 88

4.3.1 内核配置 88

4.3.2 内核编译 97

4.3.3 内核下载 98

4.4 建立Linux根文件系统 98

4.4.1 根文件系统的基本介绍 99

4.4.2 建立根文件系统 102

4.5 本章小结 105

4.6 常见问题 106

第二部分 ARM Linux设备驱动程序开发 110

第5章 ARM Linux驱动程序开发入门 110

5.1 嵌入式Linux驱动程序介绍 110

5.1.1 驱动程序的作用 110

5.1.2 Linux设备驱动程序分类 111

5.2 最简单的内核模块举例 112

5.2.1 编写Hello World模块 113

5.2.2 编写Hello World模块的Makefile 114

5.2.3 加载和卸载Hello World模块 115

5.3 Linux驱动程序开发要点 116

5.3.1 内存与I/O端口 116

5.3.2 并发控制 120

5.3.3 阻塞与非阻塞 125

5.3.4 中断处理 126

5.3.5 内核调试 133

5.4 本章小结 137

5.5 常见问题 137

第6章 字符设备驱动程序 139

6.1 字符设备驱动介绍 139

6.1.1 字符设备驱动相关的重要结构 139

6.1.2 主、次设备号 145

6.2 字符设备驱动开发实例 148

6.2.1 四线电阻式触摸屏原理 148

6.2.2 S3C2410触摸屏工作原理 149

6.2.3 S3C2410的ADC和触摸屏接口特殊寄存器 150

6.2.4 触摸屏驱动概要设计 154

6.2.5 触摸屏驱动程序分析 155

6.2.6 配置和编译驱动程序 164

6.2.7 测试触摸屏驱动程序 165

6.2.8 触摸屏的校准 166

6.3 本章小结 167

6.4 常见问题 167

第7章 块设备驱动程序 169

7.1 块设备驱动介绍 169

7.1.1 块设备驱动相关的重要结构 169

7.1.2 请求处理 174

7.2 块设备驱动开发实例 176

7.2.1 MMC/SD介绍 176

7.2.2 S3C2410提供的SDI接口 179

7.2.3 SDI相关的寄存器 180

7.2.4 MMC/SD驱动概要设计 184

7.2.5 MMC驱动程序分析 186

7.2.6 S3C2410 SDI接口驱动分析 192

7.2.7 配置和编译驱动程序 193

7.3 本章小结 194

7.4 常见问题 194

第8章 网络设备驱动程序 195

8.1 网络设备驱动介绍 195

8.1.1 网络设备驱动相关的重要结构 195

8.1.2 常见的网络术语 198

8.2 网络设备驱动开发实例 200

8.2.1 CS8900A介绍 200

8.2.2 CS8900A网卡驱动概要设计 202

8.2.3 CS8900A适配器驱动程序分析 204

8.3 本章小结 213

8.4 常见问题 214

第三部分 Qt GUI开发 216

第9章 Qt概述 216

9.1 Linux下的GUI介绍 216

9.1.1 Linux桌面GUI系统 216

9.1.2 嵌入式Linux下的GUI系统 220

9.2 Qt/X11介绍 221

9.2.1 Qt的历史和Qt/X11的由来 221

9.2.2 Qt/X11的版权问题 222

9.2.3 Qt/X11及Qt/Windows的系统架构图对比 222

9.2.4 Qt的特性简介 222

9.3 Qtopia Core介绍 223

9.3.1 Qtopia Core与Qt/Embedded 223

9.3.2 Qtopia Core的体系结构 224

9.4 本章小结 225

9.5 常见问题 225

第10章 Qt/X11初步 226

10.1 Qt/X11的安装 226

10.1.1 Qt/X11的下载及双重授权问题的说明 226

10.1.2 Qt/X11的安装详解 227

10.2 Qt下的Hello World 229

10.3 温度转换的小例子 230

10.3.1 背景知识 230

10.3.2 Quit按钮 231

10.3.3 摄氏温度的显示 234

10.3.4 华氏温度的显示 237

10.3.5 华氏温度和摄氏温度之间的转换 240

10.3.6 保存当前的数值 244

10.4 本章小结 249

10.5 常见问题 249

第11章 Qt核心技术 251

11.1 信号(Signals)和槽(Slots) 251

11.1.1 常见的GUI组件通信方式 251

11.1.2 Qt中的信号和槽(Signals and Slots) 254

11.1.3 自定义信号和槽的小例子 256

11.2 Qt对象模型 259

11.2.1 元对象系统 259

11.2.2 信号和槽机制的实现 266

11.2.3 元对象编译器moc 275

11.3 Qt的窗口系统 279

11.3.1 窗口部件之间的树型结构 279

11.3.2 窗口部件的布局管理 281

11.4 国际化 285

11.4.1 Qt国际化的基本步骤 285

11.4.2 动态改变语言的小例子 286

11.4.3 一些注意事项 291

11.5 本章小结 293

11.6 常见问题 293

第12章 Qtopia Core 294

12.1 Qtopia Core的安装 294

12.2 Frame Buffer和qvfb 295

12.2.1 Frame Buffer 296

12.2.2 编译qvfb 298

12.2.3 在qvfb上运行Qtopia Core程序 298

12.3 移植Qt/X11程序到Qtopia Core中 299

12.4 轻量级的窗口系统 301

12.5 进程间通信 304

12.6 本章小结 307

12.7 常见问题 307

参考文献 309