《嵌入式Linux开发技术及实践》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:青岛东合信息技术有限公司编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2014
  • ISBN:9787560633138
  • 页数:470 页
图书介绍:本书从嵌入式系统基本概念出发,以ARM9系列处理器S3C2440为基础,配合开发板硬件平台,深入浅出的讲解了基于ARM的嵌入式Linux开发的各个环节。本书分为两篇,理论篇和实践篇。理论篇分别介绍了嵌入式系统的基本概念和组成、ARM的基础开发、ARM进阶开发、嵌入式Linux系统构建、设备驱动移植、Linux应用编程以及嵌入式GUI的使用。实践篇分别与理论篇相对应,以实现一个物联网网关为贯穿案例,实现了理论与实践相结合,使读者加深对嵌入式Linux开发技术的应用,并迅速理解和掌握基于ARM嵌入式Linux开发知识,并全面提高动手能力。

理论篇 2

第1章 概述 2

1.1 嵌入式系统 2

1.1.1 嵌入式系统概述 2

1.1.2 嵌入式系统发展 3

1.2 嵌入式处理器 4

1.2.1 处理器分类 4

1.2.2 ARM处理器 5

1.2.3 ARM处理器系列 7

1.3 嵌入式操作系统 9

1.4 嵌入式系统开发 10

1.4.1 嵌入式系统开发流程 10

1.4.2 嵌入式系统开发环境 11

小结 14

习题 15

第2章 ARM基础开发 16

2.1 S3C2440概述 17

2.2 编程基础 19

2.2.1 S3C2440体系结构 19

2.2.2 汇编指令集 24

2.2.3 汇编与C语言的交互编程 31

2.3 时钟与电源 35

2.3.1 时钟体系 35

2.3.2 电源模式 39

2.4 GPIO 40

2.4.1 概述 40

2.4.2 GPIO寄存器 40

2.4.3 GPIO编程 42

2.5 存储器控制器 45

2.5.1 概述 45

2.5.2 存储器控制器寄存器 46

2.5.3 存储器控制器编程 48

2.6 异常系统 53

2.6.1 异常 53

2.6.2 中断机制 55

2.6.3 中断控制器寄存器 58

2.6.4 中断编程 61

2.7 定时器 66

2.7.1 概述 66

2.7.2 定时器寄存器 67

2.7.3 定时器编程 69

2.8 ADC和触摸屏 70

2.8.1 ADC概述 71

2.8.2 触摸屏 72

2.8.3 ADC寄存器 72

2.8.4 ADC编程 74

小结 77

习题 77

第3章 ARM进阶开发 79

3.1 Flash编程 80

3.1.1 概述 80

3.1.2 NAND Flash控制器 82

3.1.3 NAND Flash控制器寄存器 83

3.1.4 NAND Flash实例 85

3.2 UART 98

3.2.1 概述 98

3.2.2 S3C2440 UART 99

3.2.3 UART编程 104

3.3 USB 110

3.3.1 概述 110

3.3.2 USB主机控制器 117

3.3.3 USB设备控制器 128

3.3.4 USB设备编程 129

3.4 DMA 138

3.4.1 概述 138

3.4.2 DMA控制器 139

3.4.3 DMA控制器寄存器 140

3.4.4 DMA编程 143

3.5 LCD 144

3.5.1 概述 144

3.5.2 LCD控制器 146

3.5.3 LCD控制器寄存器 149

3.5.4 LCD编程 150

3.6 MMU 159

3.6.1 概述 159

3.6.2 MMU内存访问机制 164

3.6.3 Cache 165

3.6.4 ARM协处理器 166

3.6.5 MMU编程 168

小结 170

习题 170

第4章 系统构建 172

4.1 概述 173

4.2 交叉编译环境 173

4.3 Linux内核 174

4.3.1 Linux内核特点 175

4.3.2 内核结构 176

4.4 内核编译配置 177

4.4.1 配置工具 177

4.4.2 内核Makefile 177

4.4.3 配置文件Kconfig 179

4.4.4 配置选项 180

4.5 内核移植 182

4.5.1 移植示例 184

4.5.2 内核映像 187

4.6 构建根文件系统 188

4.6.1 文件系统概述 188

4.6.2 根文件系统 190

4.6.3 Busybox 191

4.6.4 构建根文件系统 195

4.7 Linux内核启动分析 198

小结 205

习题 206

第5章 驱动移植 207

5.1 概述 208

5.1.1 设备驱动程序 208

5.1.2 设备类型与设备号 208

5.1.3 驱动模块 209

5.1.4 驱动程序结构 211

5.1.5 驱动程序开发 211

5.2 字符设备驱动程序 211

5.2.1 字符设备特点 211

5.2.2 相关数据结构与函数 212

5.2.3 驱动程序模型 217

5.2.4 驱动程序实例 218

5.3 块设备驱动程序 224

5.3.1 块设备特点 224

5.3.2 相关的数据结构和函数 225

5.4 网络设备驱动程序 228

5.4.1 网络设备特点 228

5.4.2 相关数据结构和函数 230

5.4.3 DM9000模块 234

5.4.4 DM9000驱动程序 235

5.4.5 移植实例 248

小结 248

习题 249

第6章 应用编程 250

6.1 概述 251

6.1.1 应用程序 251

6 1 2 API 251

6.1.3 系统调用 252

6.1.4 API与系统调用 253

6.2 文件I/O编程 254

6.2.1 概述 254

6.2.2 基本I/O函数 255

6.2.3 标准I/O函数 265

6.3 进程 269

6.3.1 概述 269

6.3.2 基本函数 271

6.3.3 信号 276

6.3.4 管道 282

6.3.5 信号量 288

6.3.6 共享内存 293

6.3.7 消息队列 298

6.4 线程 304

6.4.1 概述 304

6.4.2 基本函数 305

6.4.3 同步与互斥 310

6.5 网络编程 315

6.5.1 TCP/IP协议 315

6.5.2 socket套接字 317

6.5.3 socket编程实例 323

小结 326

习题 327

第7章 GUI程序设计 328

7.1 图形用户界面 329

7.1.1 图形用户界面的特征 329

7.1.2 嵌入式系统图形用户界面特点 329

7.1.3 几种流行的GUI 329

7.1.4 Qt及Qt/Embedded 330

7.2 Q t/Embedded开发平台的搭建 331

7.2.1 Qt Creator集成开发环境的搭建 331

7.2.2 编译安装触摸屏校验库tslib 332

7.2.3 搭建Qt/Embedded开发环境 334

7.3 Qt Creator程序开发流程 335

7.3.1 Qt Creator启动界面简介 335

7.3.2 创建“Hello World”GUI应用程序 337

7.3.3 纯代码编写程序 340

7.4 程序框架类 341

7.4.1 QApplication类 342

7.4.2 QMainWindow类 343

7.4.3 QWidget类 346

7.4.4 QDialog类 349

7.4.5 QObject类 351

7.5 信号与槽机制 352

7.5.1 信号与槽机制概述 352

7.5.2 信号与槽的关联 353

7.5.3 元对象工具 355

7.5.4 信号/槽使用示例 355

7.6 常用窗口部件 357

7.6.1 QFrame类族 357

7.6.2 按钮部件 358

7.6.3 行编辑控件 359

7.6.4 滑块部件 361

小结 361

习题 362

实践篇 364

实践1 概述 364

实践指导 364

实践1.G.1 364

实践1.G.2 367

实践1.G.3 369

实践1.G.4 371

实践2 ARM基础开发 377

实践指导 377

实践2.G.1 377

实践2.G.2 381

实践3 ARM进阶开发 394

实践指导 394

实践3.G.1 394

实践3.G.2 395

实践3.G.3 396

实践3.G.4 398

实践4 系统构建 428

实践指导 428

实践4.G.1 428

实践4.G.2 430

实践4.G.3 433

实践4.G.4 437

实践5 驱动移植 440

实践指导 440

实践5.G.1 440

知识拓展 444

实践6 应用编程 448

实践指导 448

实践6.G.1 448

实践6.G.2 451

实践7 GUI程序设计 462

实践指导 462

实践7.G.1 462

实践7.G.2 464

实践7.G.3 468

实践7.G.4 469