当前位置:首页 > 工业技术
基于ARM嵌入式Linux应用开发与实例教程
基于ARM嵌入式Linux应用开发与实例教程

基于ARM嵌入式Linux应用开发与实例教程PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:林晓飞,刘彬,张辉编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302155593
  • 页数:368 页
图书介绍:本书介绍基于ARM嵌入式Linux应用开发技术与实例。
《基于ARM嵌入式Linux应用开发与实例教程》目录

第一部分 1

绪论 1

第1章 嵌入式系统的硬件构成 3

1.1 嵌入式处理器 3

1.1.1 嵌入式处理器的品种划分 3

1.1.2 嵌入式处理器的选择 6

1.2 存储器 7

1.2.1 ROM 8

1.2.2 RAM 8

1.3 输入输出设备 8

1.3.1 液晶显示 8

1.3.2 触摸屏 9

1.3.3 语音输入输出技术 11

1.3.4 键盘 11

1.4 电源转换与管理 14

1.4.1 电源IC分类 14

1.4.2 电源IC的特点 15

1.4.3 电源IC选用指南 16

1.5 接口技术 17

1.5.1 并行接口 17

1.5.2 串口 18

1.5.3 USB 19

1.5.4 PCMCIA和CF 19

1.5.5 红外线接口 21

1.6 总线 22

1.6.1 ISA 22

1.6.2 PCI 23

1.6.3 I2C总线 23

1.6.4 SPI总线 24

1.6.5 PC104总线 24

1.6.6 CAN总线 25

1.7 嵌入式系统开发中常用的硬件调试和编程技术 26

1.7.1 微代码支持的串口调试 26

1.7.2 编程技术 26

1.7.3 JTAG与IEEE1149协议简介 27

1.7.4 3.3V和5V装置的互连 29

第2章 嵌入式处理器介绍 31

2.1 ARM微处理器概述 31

2.2 ARM微处理器的应用领域及特点 31

2.2.1 ARM微处理器的应用领域 31

2.2.2 AM微处理器的特点 32

2.3 ARM微处理器系列 32

2.3.1 ARM7微处理器系列 32

2.3.2 ARM9微处理器系列 33

2.3.3 ARM9E微处理器系列 33

2.3.4 ARM10E微处理器系列 34

2.3.5 SecurCore微处理器系列 34

2.3.6 StrongARM微处理器系列 35

2.3.7 Xscale处理器 35

2.4 ARM微处理器结构 35

2.4.1 RISC体系结构 35

2.4.2 ARM微处理器的寄存器结构 36

2.4.3 ARM微处理器的指令结构 36

2.5 ARM微处理器的应用选型 37

2.5.1 ARM微处理器内核的选择 37

2.5.2 系统的工作频率 37

2.5.3 芯片内存储器的容量 37

2.5.4 片内外围电路的选择 37

2.6 ARM微处理器的编程模型 38

2.7 ARM体系结构的存储器格式 38

2.7.1 大端格式 38

2.7.2 小端格式 39

2.8 指令长度及数据类型 39

2.9 处理器模式 39

2.10 寄存器组织 40

2.10.1 ARM状态下的寄存器组织 40

2.10.2 Thumb状态下的寄存器组织 42

2.10.3 程序状态寄存器 44

2.11 异常 46

2.11.1 ARM体系结构所支持的异常类型 46

2.11.2 对异常的响应 46

2.11.3 从异常返回 47

2.11.4 各类异常的具体描述 47

2.11.5 异常进入/退出 48

2.11.6 异常向量 49

2.11.7 异常优先级 49

2.11.8 应用程序中的异常处理 50

2.12 ARM微处理器的指令系统 50

2.12.1 ARM微处理器的指令的分类与格式 50

2.12.2 指令的条件域 51

2.13 ARM指令的寻址方式 52

2.13.1 立即寻址 52

2.13.2 寄存器寻址 53

2.13.3 寄存器间接寻址 53

2.13.4 基址变址寻址 53

2.13.5 多寄存器寻址 53

2.13.6 相对寻址 54

2.13.7 堆栈寻址 54

2.14 ARM指令集 54

2.14.1 跳转指令 54

2.14.2 数据处理指令 56

2.14.3 乘法指令与乘加指令 60

2.14.4 程序状态寄存器访问指令 62

2.14.5 加载/存储指令 63

2.14.6 批量数据加载/存储指令 65

2.14.7 数据交换指令 66

2.14.8 移位指令(操作) 67

2.14.9 协处理器指令 68

2.14.10 异常产生指令 70

2.15 Thumb指令及应用 70

2.16 其他嵌入式处理器介绍 71

2.16.1 x86 71

2.16.2 Power PC 71

2.16.3 Motorola 68000 72

2.16.4 MIPS 72

第3章 嵌入式系统的软件构成 74

3.1 基础知识 74

3.2 操作系统发展史 75

3.2.1 串行处理系统 75

3.2.2 简单批处理系统 75

3.2.3 多道程序设计批处理系统 75

3.2.4 分时系统 75

3.2.5 现代操作系统 75

3.3 操作系统内核 76

3.3.1 内存管理功能 76

3.3.2 内存分割 76

3.3.3 虚拟内存 77

3.4 进程与中断管理 79

3.4.1 进程描述与控制 80

3.4.2 并发控制:互斥与同步 84

3.4.3 并发控制:死锁处理 91

3.4.4 中断及中断处理 94

3.5 调度机制 95

3.5.1 调度类型 95

3.5.2 单处理器调度 97

3.5.3 多处理器调度 99

3.5.4 实时调度 101

3.6 I/O设备 104

3.6.1 I/O设备描述参数 104

3.6.2 I/O技术的演变 105

3.6.3 I/O设备逻辑描述 105

3.6.4 I/O缓冲技术 107

3.6.5 磁盘调度 109

3.7 文件管理 111

3.7.1 文件与文件系统 112

3.7.2 文件组织与访问 113

3.7.3 文件共享 115

3.7.4 记录分块 115

3.7.5 外围存储设备管理 116

3.8 用户界面 117

3.8.1 图形用户界面 118

3.8.2 关键技术 118

3.9 智能化用户界面 120

3.9.1 Agent技术 120

3.9.2 Agent技术与用户界面的结合 123

3.10 主流嵌入式操作系统介绍 124

3.10.1 Windows CE 124

3.10.2 VxWorks 125

3.10.3 OS-9 126

3.10.4 QNX 126

3.10.5 μC/OS-Ⅱ 126

3.10.6 Linux 126

第4章 嵌入式Linux介绍 128

4.1 Linux的基础知识介绍 128

4.2 Linux的进程与中断管理机制 131

4.2.1 Linux进程状态 131

4.2.2 Linux进程控制块 132

4.2.3 Linux内核同步机制 133

4.2.4 Linux进程间的通信 134

4.2.5 Linux中断与定时服务 137

4.3 Linux的调度机制 137

4.3.1 Linux的一般调度机制 138

4.3.2 RT-Linux的实时调度机制 138

4.4 Linux的文件系统管理 139

4.4.1 文件系统管理 140

4.4.2 虚拟文件系统 140

4.5 Linux下的用户界面 141

4.5.1 X Window简介 141

4.5.2 X服务器 142

4.5.3 窗口管理器 143

4.6 嵌入式Linux内核 144

4.6.1 uClinux概述 144

4.6.2 uClinux的内存管理 145

4.6.3 uClinux内核结构 146

4.6.4 内存保护 146

4.6.5 编程接口的改变 147

4.6.6 uClinux的应用程序库 147

4.6.7 uClinux内核运行方式 148

4.6.8 uClinux支持的文件系统 148

4.7 嵌入式设备的文件系统 148

4.7.1 闪存介绍 148

4.7.2 第二版扩展文件系统Ext2fs 149

4.7.3 临时文件系统tmpfs 149

4.8 日志闪存文件系统版本2——JFFS2 150

4.8.1 概述 150

4.8.2 JFFS的设计原理 150

4.9 嵌入式用户界面 152

4.9.1 XFree86 4.X(带帧缓冲区支持的X11R6.4) 152

4.9.2 Microwindows 153

4.9.3 FLTK 153

4.9.4 Qt/Embedded 154

4.10 Microwindows剖析 155

4.10.1 分层设计 155

4.10.2 设备驱动层 155

4.10.3 设备无关的图形引擎层 155

4.10.4 API(基于Win32) 156

4.10.5 消息传递机制 156

4.10.6 窗口操作 156

4.10.7 客户区域和绝对坐标 157

4.10.8 设备上下文 157

4.11 Microwindows的移植和中文化 158

4.11.1 针对uClinux所作的修改 158

4.11.2 中文化处理 158

4.12 应用实例——电子文本阅读器 159

4.12.1 功能要求以及方案选择 159

4.12.2 具体实现 159

4.13 主流嵌入式Linux 160

4.13.1 RT-Linux 160

4.13.2 uClinux 161

4.13.3 Embedix 161

4.13.4 XLinux 161

4.13.5 PocketLinux 161

4.13.6 MidoriLinux 161

4.13.7 红旗嵌入式Linux 162

第5章 嵌入式系统中的Bootloader 163

5.1 BootLoader概述 163

5.2 Bootloader设计分析 163

5.2.1 启动加载模式 164

5.2.2 下载模式 164

5.3 Bootloader的启动及初始化 164

5.3.1 Bootloader的stage1 164

5.3.2 Bootloader的stage2 165

5.4 Bootloader难点分析 166

5.5 命令控制台 168

第6章 交叉编译 169

6.1 编译原理 169

6.1.1 编译的一般过程 169

6.1.2 与编译器相关的程序 170

6.1.3 编译器的移植 171

6.2 词法分析 171

6.2.1 词法的形式化描述 171

6.2.2 词法分析程序的设计 174

6.3 语法分析 175

6.3.1 自顶向下的语法分析 176

6.3.2 自底向上的语法分析 178

6.4 中间代码 180

6.5 代码优化 182

6.6 交叉编译技术 185

6.7 GCC交叉编译器 186

6.7.1 GCC编译流程 186

6.7.2 Linux环境下的GCC交叉编译器 189

6.8 一个交叉编译器的生成实例 190

6.8.1 可执行文件格式 190

6.8.2 交叉编译器 191

6.8.3 相关问题 193

第7章 嵌入式Linux的软件开发环境 194

7.1 交叉编译环境 194

7.1.1 安装交叉编译环境 194

7.1.2 添加设备驱动和内核模块 195

7.2 可执行文件 195

7.2.1 COFF文件格式 195

7.2.2 ELF文件格式 195

7.2.3 flat文件格式 195

7.3 调试技术 196

7.3.1 常见调试方法 196

7.3.2 内存调试 197

7.3.3 MEMWATCH 197

7.3.4 YAMD 198

7.4 系统调用跟踪 200

7.5 程序调试 200

7.5.1 gdb 200

7.5.2 kgdb 201

7.5.3 Oops 203

7.6 系统引导和内核启动 204

7.6.1 Bootloader程序的设计与实现 204

7.6.2 硬件平台的通信 205

7.6.3 硬件平台初始化程序 205

7.6.4 硬件平台监控程序 205

7.7 uClinux移植 206

7.7.1 第一阶段 206

7.2.2 第二阶段 208

第8章 设备驱动程序 210

8.1 概述 210

8.1.1 设备类型 211

8.1.2 设备号 211

8.1.3 模块化编程 212

8.2 设备文件接口 213

8.2.1 用户访问接口 213

8.2.2 open入口点 213

8.2.3 close入口点 213

8.2.4 read入口点 214

8.2.5 write入口点 214

8.2.6 ioctl入口点 214

8.3 文件操作 214

8.3.1 file_operations结构 214

8.3.2 file结构 216

8.4 I/O操作 217

8.4.1 阻塞型I/O 217

8.4.2 select 218

8.4.3 异步触发 218

8.5 中断处理 219

8.5.1 注册中断处理程序 219

8.5.2 返回值 220

8.5.3 参数 220

8.5.4 实现中断处理程序 221

8.6 应用实例 222

8.6.1 字符型设备 223

8.6.2 按键 223

8.6.3 触摸屏 224

8.7 网络设备 232

8.7.1 网络驱动的框架 233

8.7.2 网卡驱动程序的加载方法 235

8.7.3 CS8900A芯片特点 236

8.7.4 CS8900A芯片驱动程序的实现 237

8.7.5 网络设备驱动程序的编译 243

8.7.6 网络驱动程序的测试 243

第二部分 245

第9章 GX-ARM9-2410EP说明 245

9.1 系统概述 245

9.2 电路说明 248

9.2.1 系统供电 249

9.2.2 系统配置 249

9.2.3 复位逻辑 250

9.2.4 启动分区(BOOT ROM BANK0) 250

9.2.5 LCD和触摸屏接口 251

9.2.6 键盘和SPI接口 252

9.2.7 A/D、D/A转换接口 253

9.2.8 Smart Media Card(NAND Flash Memory)卡电路 254

9.2.9 PCMCIA接口 255

9.2.10 SD卡主机(MMC)接口 255

9.2.11 IIC接口 256

9.2.12 USB接口 256

9.2.13 UART接口和irDA接口 257

第10章 开发环境的建立 258

10.1 建立主机开发环境 258

10.2 配置minicom 259

10.3 配置TFTP 260

10.4 配置NFS服务 261

第11章 基本实验部分 262

实验1 编译Bootloader 262

实验2 编译Linux内核 266

实验3 制作文件系统及程序的烧写 283

实验4 烧写各部分到目标板 286

实验5 交叉编译并运行简单程序 291

第12章 高级实验部分 297

实验6 简单驱动程序的编写 297

实验7 LED点阵驱动 302

实验8 中断试验 306

实验9 IIC LED实验 320

实验10 IIS音频实验 330

实验11 RS-485实验 355

相关图书
作者其它书籍
返回顶部