《ARM嵌入式Linux应用开发入门》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:汪明虎,欧文盛编著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2008
  • ISBN:7508374371
  • 页数:236 页
图书介绍:本书是《ARM嵌入式Linux系统开发丛书》之一。本书针对嵌入式Linux开发的特点,结合工程开发实践,使读者能够边学边用,从而快速地掌握相关的知识要点。全书共分为10章,首先介绍了嵌入式系统开发的基础知识,包括Linux开发工具、ARM处理器和ADS开发套件等。然后重点讲解了嵌入式交叉编译工具链、Linux编程基础、Bootloader移植、Linux内核移植、构建嵌入式根文件系统和嵌入式Linux驱动入门,以及嵌入式Linux 的GUI编程基础。本书可作为从事嵌入式Linux开发工程技术人员的培训教材及参考用书,也可作为高等院校自动化类、电子类、电气类、计算机类等专业本科生、研究生学习嵌入式Linux开发的辅助教材。

第1章 嵌入式系统概述及Linux开发工具 1

1.1 嵌入式系统简介 2

1.1.1 什么是嵌入式系统 2

1.1.2 嵌入式系统基本结构 2

1.1.3 嵌入式系统特点 3

1.2 嵌入式软件的发展 3

1.3 嵌入式系统软件开发流程 4

1.4 使用Linux开发工具 4

1.4.1 vi编辑器 4

1.4.2 GCC编译器 8

1.4.3 gdb调试器 13

1.4.4 编写makefile 16

1.5 小结 20

第2章 ARM硬件平台及ADS开发工具 21

2.1 ARM处理器简介 22

2.2 ARM9处理器 23

2.2.1 ARM9处理器的特点 23

2.2.2 ARM9处理器的工作模式 23

2.2.3 ARM处理器状态 24

2.3 LJD-2410DVK-I开发板 25

2.3.1 硬件资源 25

2.3.2 软件资源 27

2.4 ADS开发工具 27

2.4.1 命令行开发工具 29

2.4.2 CodeWarrior开发环境初步 32

2.4.3 AXD调试器 42

2.5 小结 52

第3章 构建嵌入式交叉编译工具链 53

3.1 什么是交叉编译环境 54

3.2 构建交叉编译工具链的方法 54

3.3 用Crosstool构建交叉编译工具链 54

3.3.1 Crosstool简介 54

3.3.2 下载软件包 55

3.3.3 配置脚本文件 55

3.3.4 生成交叉编译工具链 57

3.3.5 测试生成的编译工具 57

3.4 分步构建嵌入式交叉编译工具链 58

3.4.1 创建目录 58

3.4.2 建立环境变量 59

3.4.3 编译binutils 59

3.4.4 配置内核头文件 61

3.4.5 编译GCC(阶段1) 61

3.4.6 安装glibc 62

3.4.7 编译GCC(阶段2) 63

3.4.8 测试交叉编译工具链 63

3.5 小结 63

第4章 嵌入式系统Linux编程基础 65

4.1 文件I/O编程 66

4.1.1 文件描述符 66

4.1.2 open函数 66

4.1.3 close函数 67

4.1.4 lseek函数 67

4.1.5 read函数 67

4.1.6 write函数 68

4.1.7 dup和dup2函数 69

4.1.8 fcntl函数 69

4.2 进程控制开发 70

4.2.1 fork和vfork函数 71

4.2.2 exit函数和_exit函数 72

4.2.3 wait和waitpid函数 73

4.2.4 竞态条件 74

4.2.5 exec函数 75

4.3 进程间通信 77

4.3.1 管道pipe 77

4.3.2 有名管道FIFO 79

4.3.3 消息队列 83

4.3.4 信号量(semaphore) 86

4.3.5 共享内存 89

4.4 Linux网络编程 92

4.4.1 TCP/IP协议简介 92

4.4.2 常用网络编程函数 93

4.4.3 套接口使用实例 97

4.5 小结 98

第5章 U-boot代码分析及移植 99

5.1 BootLoader简介 100

5.1.1 BootLoader分类 100

5.1.2 BootLoader操作模式 100

5.1.3 BootLoader工作流程 101

5.2 u-boot代码分析 101

5.2.1 u-boot主要目录结构 101

5.2.2 u-boot代码分析 102

5.3 移植u-boot 114

5.3.1 获取源码 114

5.3.2 创建交叉编译环境 114

5.3.3 和移植相关的文件夹 114

5.3.4 移植步骤 115

5.3.5 修改相关文件 117

5.4 烧写BootLoader到开发板 131

5.5 小结 132

第6章 嵌入式Linux内核移植 133

6.1 NANDFlash分区 134

6.2 配置内核 137

6.2.1 修改makefile文件 137

6.2.2 添加devfs配置 137

6.2.3 配置内核选项 138

6.3 内核编译 145

6.3.1 编译zImage 145

6.3.2 编译和安装模块 146

6.3.3 如何处理编译出错 146

6.4 下载内核到开发板 148

6.5 小结 149

第7章 构建根文件系统 151

7.1 根文件系统概述 152

7.1.1 什么是根文件系统 152

7.1.2 根文件系统的基本目录结构 153

7.2 定制根文件系统 154

7.2.1 创建空的目录树 154

7.2.2 移植BusyBox 154

7.2.3 选择必要的动态共享库 160

7.2.4 初始化脚本 162

7.2.5 模块和设备文件 163

7.3 选择合适的Flash文件系统 164

7.3.1 嵌入式Linux文件系统 164

7.3.2 存储设备NOR/NANDFlash 166

7.3.3 基于Flash的文件系统类型 167

7.4 建立Cramfs根文件系统映像 169

7.4.1 Cramfs工具包的使用 169

7.4.2 构建Cramfs根文件系统 170

7.5 小结 171

第8章 嵌入式Linux驱动开发入门 173

8.1 Linux驱动程序概述 174

8.2 Linux驱动设计基础知识 175

8.2.1 内核模块 176

8.2.2 设备驱动基本类型 176

8.2.3 主、次设备号 177

8.2.4 字符设备相关的数据结构 179

8.3 Helloworld模块实例 186

8.3.1 源代码及分析 186

8.3.2 编写makefile 188

8.3.3 测试Helloworld模块 190

8.4 字符设备驱动实例 191

8.4.1 源代码及分析 191

8.4.2 测试代码及分析 196

8.4.3 编译和测试 197

8.5 小结 198

第9章 嵌入式Linux系统GUI编程入门 199

9.1 嵌入式Linux下GUI系统概述 200

9.1.1 传统的Linux桌面GUI系统 200

9.1.2 嵌入式Linux下的GUI系统 202

9.2 QtopiaCore编程基础及移植 203

9.2.1 Qt/X11、Qt/Embedded和QtopiaCore 204

9.2.2 QtopiaCore的安装 205

9.2.3 FrameBuffer和qvfb 207

9.2.4 编写简单的QtopiaCore程序 213

9.2.5 移植QtopiaCore到开发板 215

9.2.6 Qt的特性简介 217

9.3 MiniGUI编程基础及移植 225

9.3.1 MiniGUI的下载与授权问题 226

9.3.2 安装MiniGUI 226

9.3.3 编写及编译运行MiniGUI程序 229

9.3.4 移植MiniGUI到开发板 232

9.4 小结 235

参考文献 236