《嵌入式Linux系统开发基础》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王大永,葛超,张景春编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302330240
  • 页数:392 页
图书介绍:本书首先介绍arm微处理器的体系结构、应用领域和应用选型;接着介绍jxarm92410 arm嵌入式教学实验系统的基本组成、硬件资源的详细说明以及集成开发环境adt ide的软件编程方法;然后按照从易到难、从简单到复杂的顺序安排实验,包括嵌入式软件开发基础实验、基本接口实验、bootloader实验、嵌入式linux操作系统实验、嵌入式linux图形用户界面实验及高级接口实验。

第1章 嵌入式系统概述 1

1.1嵌入式系统简介 1

1.1.1嵌入式系统的定义 1

1.1.2嵌入式系统的硬件/软件特征 3

1.1.3嵌入式操作系统 4

1.1.4学习嵌入式系统的意义 6

1.2嵌入式系统硬件 7

1.2.1嵌入式处理器 7

1.2.2嵌入式微处理器 8

1.2.3嵌入式微控制器 9

1.2.4 嵌入式DSP处理器 9

2.5嵌入式片上系统 10

1.2.6嵌入式处理器的选择 10

1.3存储器 11

1.3.1存储器的分类 11

1.3.2存储器的层次结构 13

1.3.3随机存储器RAM 14

1.3.4只读存储器ROM 17

1.4输入/输出设备 19

1.4.1液晶显示 19

1.4.2触摸屏 21

1.4.3语音输入/输出技术 23

1.4.4键盘 25

1.5电源转换与管理 26

1.5.1电源IC的分类 26

1.5.2电源IC的特点 27

1.5.3电源IC选用指南 28

1.6接口技术 29

1.6.1 并口 29

1.6.2串口 30

1.6.3 U S B 31

1.6.4蓝牙 32

1.7总线 33

1.7.1 ISA 33

1.7.2 PCI 34

1.7.3 I2 C 35

1.7.4 SPI 37

1.7.5 PC-104 38

1.7.6 CAN 39

1.8课后练习 41

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

2.1 ARM微处理器概述 43

2.1.1 ARM微处理器应用领域及特点 43

2.1.2 ARM微处理器系列 44

2.1.3 ARM微处理器体系结构 50

2.1.4 ARM微处理器的应用选型 57

2.1.5 ARM微处理器存储体系结构 58

2.1.6 ARM微处理器的工作状态 60

2.1.7 ARM微处理器运行模式 61

2.1.8 ARM微处理器的存储格式 62

2.1.9 ARM状态下的寄存器结构 63

2.1.10 ARM异常中断 66

2.2 ARM微处理器指令系统 70

2.2.1 ARM指令的般格式 70

2.2.2 ARM指令的寻址方式 73

2.2.3 ARM存储器访问指令 78

2.2.4跳转指令 82

2.2.5数据处理指令 84

2.2.6程序状态寄存器(PSR)传输指令 90

2.2.7协处理器指令 91

2.2.8 ARM杂项指令 93

2.2.9 ARM伪指令 96

2.3 Thumb指令集 98

2.4课后练习 99

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

3.1嵌入式系统设计概述 101

3.1.1嵌入式系统的总体结构 101

3.1.2嵌入式系统的设计内容 103

3.1.3嵌入式系统的设计特点 104

3.1.4嵌入式系统设计方法的分类 105

3.2嵌入式系统设计流程 107

3.3 ARM920T简介 111

3.4 S3C2410X开发板 112

3.4.1 S3C2410处理器的特点 114

3.4.2 ARM片上总线 118

3.4.3 S3C2410的处理器中断 119

3.4.4 S3C2410处理器片上资源的定义和使用 126

3.4.5编程参考软件包2410TEST 129

3.5课后练习 133

第4章BootLoader 135

4.1 BootLoader概述 135

4.1.1 BootLoader的基本概念 136

4.1.2 BootLoader所支持的CPU和嵌入式体系结构 137

4.1.3 BootLoader的安装介质 138

4.1.4 BootLoader的概念扩展 138

4.1.5 ARM BootLoader的共性 138

4.1.6 BootLoader移植的必要性 140

4.1.7 BootLoader的烧录和存储 140

4.1.8 BootLoader与主机之间进行文件传输所用的通信设备及协议 140

4.1.9 BootLoader的通用执行流程 140

4.2常用的嵌入式Linux BootLoader 141

4.2.1 U-Boot 141

4.2.2 VIVI 142

4.2.3 BLOB 143

4.2.4 RedBoot 143

4.2.5 ARMBoot 143

4.2.6 DIY 143

4.3 U-Boot基础 144

4.3.1 U-Boot源代码的目录结构 144

4.3.2 U-Boot支持的主要功能 146

4.3.3 U-Boot的命令介绍及环境变量 146

4.4 U-Boot的启动过程 147

4.5 U-Boot的编译过程 151

4.6 U-Boot移植的关键技术 154

4.7课后练习 155

第5章 嵌入式系统交叉编译 156

5.1交叉编译环境简介 156

5.1.1交叉编译概念模型 156

5.1.2目标板与宿主机之间的连接 157

5.1.3文件传输方式 159

5.1.4网络文件系统 160

5.2交叉编译工具 160

5.2.1 gcc编译器 160

5.2.2 Binutils工具包 162

5.2.3 GNU make 162

5.2.4 glibc库 164

5.2.5 gdb调试工具 165

5.2.6交叉编译环境的建立 166

5.3主机开发环境配置 170

5.3.1配置主机服务 170

5.3.2串口控制台工具 172

5.3.3配置DHCP服务 175

5.3.4配置TFTP服务 177

5.3.5配置NFS服务 179

5.4课后练习 181

第6章 嵌入式Linux的软件 182

开发环境 182

6.1交义编译环境 182

6.1.1安装交叉编译环境 182

6.1.2添加设格驱动和内核模块 183

6.2可执行文件 183

6.2.1 COFF文件格式 183

6.2.2 ELF文件格式 183

6.2.3 FLAT文件格式 184

6.3 调试技术 184

6.3.1基于主机的调试 186

6.3.2远程调试器与调试内核 187

6.3.3在线仿真ICE 188

6.3.4 BDM 188

6.3.5软件仿真器 189

6.3.6内存调试 190

6.3.7 M EMWATCH 190

6.3.8 YAMD 191

6.4程序调试 193

6.4.1 gdb 193

6.4.2 kgdb 194

6.4.3 Oops 196

6.5 ROM仿真器 197

6.6 JTAG接口 198

6.7系统引导和内核启动 199

6.7.1 BootLoader程序的设计与实现 199

6.7.2硬件平台的通信 200

6.7.3硬件平台初始化程序 200

6.7.4硬件平台监控程序 200

6.8 μCLinux移植 201

6.8.1第阶段 201

6.8.2第二阶段 202

6.9课后练习 203

第7章 设备驱动程序 205

7.1概述 205

7.1.1设备类型 206

7.1.2设备号 206

7.1.3模块化编程 207

7.2设备驱动基础 212

7.2.1设备驱动程序的结构 214

7.2.2设备驱动程序的接口 215

7.3设备文件接口 216

7.3.1用户访问接口 216

7.3.2 open入口点 216

7.3.3 close入口点 217

7.3.4 read入口点 217

7.3.5 write入口点 217

7.3.6 ioctl入口点 218

7.4文件操作 218

7.4.1 file_ operations结构 218

7.4.2 file结构 219

7.5 I/O操作 220

7.5.1阻塞型I/O 221

7.5.2 select 221

7.5.3异步触发 222

7.6 中断处理 223

7.6.1注册中断处理程序 223

7.6.2返回值 223

7.6.3参数 223

7.6.4实现中断处理程序 225

7.7实例:简单设备驱动程序 226

7.7.1按键 226

7.7.2触摸屏 228

7.8课后练习 236

第8章Flash ROM存储器实例 238

8.1 S3C44B0存储器控制器 238

8.1.1概述 238

8.1.2功能描述 238

8.1.3特殊寄存器 243

8.2 Flash Rom原理分析 249

8.2.1 Flash器件介绍 249

8.2.2 Flash读写操作 250

8.2.3 SST39VF160芯片介绍 251

8.2.4 SST39VF1601芯片操作 252

8.3实例过程 256

8.3.1电路连接 256

8.3.2硬件和寄存器设置 257

8.3.3程序的编写 257

8.3.4调试与运行结果 260

8.4课后练习 261

第9章 定时器中断实例 262

9.1 S3C44B0中断机制分析 262

9.1.1中断控制器 262

9.1.2中断源与中断模式 264

9.1.3中断优先级 266

9.1.4其他特殊寄存器 268

9.2 PWM定时器 271

9.2.1定时器结构概述 271

9.2.2定时器操作 272

9.2.3死区产生器 274

9.2.4 DMA请求模式 275

9.2.5特殊寄存器 276

9.3实例过程 279

9.3.1寄存器设置 279

9.3.2程序的编写 280

9.3.3调试与运行结果 281

9.4课后练习 281

第10章μC/OS-Ⅱ移植与应用实例 283

10.1 μC/OS-Ⅱ实时操作系统 283

10.1.1实时操作系统概念 283

10.1.2 μC/OS-Ⅱ的文件结构 284

10.1.3 μC/OS-Ⅱ的任务与中断 284

10.1.4 μC/OS-Ⅱ中的任务函数 286

10.2 μC/OS-Ⅱ的移植 293

10.2.1移植条件和内容分析 293

10.2.2 OS CPU.H 295

10.2.3 OS CPU A.ASM 297

10.2.4 OS CPU C.C 301

10.3实例过程 302

10.3.1配置OS CFG.H文件 302

10.3.2任务函数的编写 302

10.3.3调试与运行结果 305

10.4课后练习 305

第11章μCLinux移植实例 307

11.1 Linux操作系统 307

11.1.1 Linux介绍 307

11.1.2 Linux内核 311

11.2 μCLinux操作系统 316

11.2.1μCLinux介绍 316

11.2.2μCLinux文件结构 319

11.3实例过程 319

11.3.1寄存器配置和文件修改 319

11.3.2编译过程 321

11.3.3下载与运行结果 322

11.4课后练习 325

第12章Linux下网络通信实例 327

12.1网络协议介绍 327

12.1.1以太网协议 327

12.1.2 ARP协议 328

12.1.3 ICMP协议 330

12.1.4 UDP协议 330

12.1.5TCP协议 332

12.1.6 FTP、 HTTP等应用层协议 334

12.2 Linux网络协议层 336

12.2.1网络层次总体结构 336

12.2.2网络设备驱动程序分析 340

12.3实例过程 342

12.3.1 CS800A驱动的编写 342

12.3.2 TCP编程实例 349

12.3.3 UDP编程实现 351

12.4课后练习 353

第13章 图形用户界面实例 355

13.1概述 355

13.1.1 GUI简介 355

13.1.2 GUI特征 356

13.1.3 GUI架构 357

13.2嵌入式Linux GUI简介 358

13.2.1 MicroWindows 358

13.2.2 OpenGUI 359

13.2.3 Qt/Embedded 359

13.2.4 MiniGUI 360

13.3 Qt/Embedded图形开发实例 361

13.3.1 Qt/Embedded介绍与安装 361

13.3.2 Qt/Embedded信号和插槽机制 366

13.3.3 Qt/Embedded实现技术分析 369

13.3.4 Qt/Embedded图形引擎实现基础 370

13.3.5 Qt/Embedded事件驱动的基础 371

13.3.6 Qt/Embedded应用程序的开发流程 371

13.3.7 Qt/Embedded的移植与应用 372

13.3.8 Qt/Embedded窗口实例 374

13.4课后练习 378

附录 各章课后练习参考答案 379