图书介绍

嵌入式Linux实战教程pdf电子书版本下载

嵌入式Linux实战教程
  • 河源职业技术学院 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7121229237
  • 出版时间:2014
  • 标注页数:377页
  • 文件大小:163MB
  • 文件页数:393页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

嵌入式Linux实战教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 嵌入式Linux开发环境 1

1.1 嵌入式介绍 1

1.1.1 嵌入式系统定义 1

1.1.2 嵌入式操作系统 1

1.1.3 常见的嵌入式操作系统 3

1.2 虚拟机及Linux系统安装 5

1.2.1 安装VMware Workstation软件 5

1.2.2 在VMware Workstation虚拟机安装Red Hat Linux系统 6

1.3 Linux常用命令 13

1.3.1 系统询问命令 13

1.3.2 文件操作命令 14

1.3.3 目录操作命令 15

1.3.4 口令、权限命令 16

1.3.5 文件压缩命令 17

1.3.6 网络相关命令 18

1.3.7 其他命令 18

1.4 Linux下的编辑工具 19

1.4.1 编辑器分类 19

1.4.2 VIM的使用 19

1.5 主机开发环境的配置 23

1.5.1 超级终端配置图解 23

1.5.2 Minicom配置 26

1.5.3 TFTP服务 28

1.5.4 NFS服务 29

1.5.5 Telnet服务 30

1.6 Red Hat下通过安装镜像文件使用yum安装软件 30

1.6.1 修改yum配置文件 30

1.6.2 安装卸载软件的方法 30

1.7 Makefile编写规则 31

1.7.1 Makefile简介 31

1.7.2 Makefile的基本结构 31

1.7.3 Makefile中的变量 33

1.7.4 Makefile的隐含规则 34

1.8 交叉编译工具基础知识 35

1.8.1 交叉编译工具链的安装 36

1.8.2 arm-linux-gcc选项 37

1.8.3 arm-linux-ld选项 38

1.8.4 arm-linux-objcopy 39

1.8.5 arm-linux-objdump 39

1.9 小知识 39

第2章 BootLoader移植与开发 41

2.1 U-Boot的目录结构 41

2.1.1 BootLoader简介 41

2.1.2 常用BootLoader介绍 42

2.1.3 U-Boot 1.3.4 目录介绍 43

2.2 U-Boot的制作过程 44

2.3 U-Boot运行过程 57

2.3.1 程序启动过程 57

2.3.2 U-Boot的两个阶段 58

2.4 U-Boot源码分析 59

2.5 U-Boot应用:主要用于启动内核进行准备工作 90

2.5.1 U-Boot的应用 90

2.5.2 BootLoader与内核的交互 90

2.6 U-Boot的重要数据结构 90

2.6.1 gd全局数据变量指针 91

2.6.2 bd电路板数据指针 91

2.6.3 环境变量指针 92

2.6.4 设备相关设置 92

2.6.5 命令结构体类型定义 93

第3章 Linux内核裁剪 95

3.1 嵌入式Linux内核启动过程 95

3.1.1 Linux版本及特点 95

3.1.2 内核代码初始化分析 96

3.1.3 setup_arch()函数分析 99

3.1.4 rest_init()函数分析 102

3.1.5 挂接根文件系统 104

3.1.6 初始化设备驱动程序 105

3.2 Linux内核源码目录介绍 108

3.3 Linux内核配置系统分析 110

3.3.1 内核中的Kconfig文件介绍 112

3.3.2 Linux内核源码Makefile文件分析 113

3.4 针对S3C2440开发板移植内核的过程 115

3.5 添加驱动程序到内核源码 120

第4章 根文件系统移植与制作 122

4.1 分析Linux文件系统层次标准 122

4.2 根文件系统各目录作用 122

4.3 移植Busybox开源代码、构造根文件系统 123

4.3.1 Busybox的诞生 123

4.3.2 Busybox许可证 124

4.3.3 POSIX环境 124

4.4 制作Linux根文件系统 125

4.4.1 下载并配置安装Busybox 125

4.4.2 完善根文件系统 128

4.4.3 通过NFS服务测试文件系统 130

第5章 Linux驱动介绍 131

5.1 驱动原理 131

5.2 内核模块的主要相关命令 131

5.3 设备分类 131

5.4 设备驱动程序工作原理 132

5.5 应用程序、库、内核、驱动程序的软件关系 132

5.6 Linux驱动程序开发步骤 132

5.7 驱动程序的加载和卸载 133

5.8 关键概念 133

5.8.1 不可剥夺型内核(non-preemptive kernel)(分时操作系统内核) 133

5.8.2 可剥夺型内核(preemptive kernel)(实时操作系统内核) 134

5.8.3 可重入函数 134

5.8.4 资源 134

5.8.5 共享资源 134

5.8.6 代码的临界段 134

5.8.7 实时系统的特点 134

5.8.8 死锁 135

5.8.9 Linux的进程状态描述 135

5.8.1 0 Linux内核的三种调度方法 135

5.8.1 1 所有任务都采用Linux分时调度策略时 136

5.8.1 2所有任务都采用FIFO调度策略时 136

5.8.1 3所有任务都采用RR调度策略时 137

5.8.1 4进程调度依据(系统进程调度原理) 137

5.8.1 5描述进程的数据结构task_struct(任务结构体) 139

5.8.1 6 Linux使用内核函数goodness()对进程进行加权处理 139

5.9 中断与异常 141

5.9.1 Linux异常处理体系结构概述 141

5.9.2 中断注册方法 144

5.1 0并发和竞态 144

5.1 0.1 并发及其管理 145

5.1 0.2 信号量和互斥体 145

5.1 0.3 自旋锁 147

第6章 字符设备驱动开发 150

6.1 主设备号和次设备号 150

6.2 重要数据结构 150

6.2.1 file_operations结构 150

6.2.2 file结构 154

6.3 字符设备注册方式 154

6.3.1 早期版本的字符设备注册(2.6 版本以前) 154

6.3.2 杂项(miscdevice)设备注册 155

6.3.3 Linux 2.6 的版本设备注册 155

6.4 打印信息 164

6.5 高级字符驱动程序操作 165

6.5.1 ioctl 165

6.5.2 定位设备(llseek实现) 167

6.5.3 休眠 167

6.5.4 阻塞和非阻塞操作 169

6.5.5 poll和select 170

6.5.6 与read和write的交互 171

6.5.7 刷新待处理输出 172

6.6 异步通知 172

6.7 内核同步机制 174

6.7.1 原子操作 174

6.7.2 信号量(semaphore) 176

6.7.3 自旋锁(spinlock) 177

第7章 LED驱动开发与应用编程 182

7.1 LED驱动程序(xyd2440_leds.c) 182

7.2 LED驱动程序的Makefile 185

7.3 LED驱动测试程序(leds_app.c) 185

7.4 操作步骤 186

第8章 按键驱动开发与应用编程 188

8.1 按键的硬件原理 188

8.2 按键驱动中的数据结构 188

8.3 按键驱动的模块加载函数和卸载函数 189

8.4 按键设备驱动中断处理程序 190

8.5 按键设备驱动的打开函数和释放函数 190

8.6 按键设备驱动的读函数 192

8.7 按键驱动程序范例 193

8.8 操作步骤 199

第9章 LCD驱动开发实例分析 201

9.1 FrameBuffer的原理 201

9.2 FrameBuffer在Linux中的实现和机制 202

9.3 Linux内核中的platform机制 207

9.4 S3C2440 LCD驱动分析 209

9.5 S3C2440LCD驱动移动移植 228

9.5.1 代码修改 228

9.5.2 修改Kconfig——添加新屏支持到内核菜单 231

9.5.3 修改内核配置 232

9.6 FrameBuffer应用例子 234

9.6.1 应用程序源码 234

9.6.2 操作步骤 235

第10章 输入子系统和触摸屏 237

10.1 认识输入子系统 237

10.1.1 为什么需要输入子系统 237

10.1.2 相关API 237

10.1.3 一个简单的按键驱动的例子 240

10.2 触摸屏驱动分析 241

10.2.1 Linux内核定时器 241

10.2.2 触摸屏驱动代码分析 243

10.3 触摸屏的校准 249

10.3.1 触摸屏的校准介绍 249

10.3.2 tslib库的编译使用 250

10.3.3 将tslib校准引用到自己的项目中 251

第11章 网络驱动开发与应用编程 253

11.1 TCP/IP概述 253

11.1.1 TCP/IP族 254

11.1.2 TCP和UDP 254

11.2 TCP/IP网络基础编程 255

11.2.1 socket概述 255

11.2.2 地址及顺序处理 256

11.2.3 socket基础编程 261

11.3 DM9000网卡驱动程序移植 273

11.3.1 DM9000网卡特性 273

11.3.2 DM9000网卡与S3C2440硬件连接 274

11.3.3 DM9000与开发板接口定义 275

11.3.4 DM9000驱动移植到S3C2440的步骤 276

11.4 DM9000网卡驱动源码解析 278

11.4.1 两个重要的结构体的简单介绍:sk_buff和net_device 278

11.4.2 驱动代码具体分析 285

11.4.3 dm9000_netdev_ops和dm9000_ethtod_ops 286

11.4.4 平台设备驱动的结构体定义 288

11.4.5 驱动初始化函数 288

11.4.6 probe函数 289

11.4.7 remove函数:设备的删除函数 304

11.4.8 打开、关闭函数和操作函数 305

第12章 基于Qt Creator环境的Qt开发 321

12.1 概要说明 321

12.2 安装步骤 321

12.3 QtCreator测试 325

12.4 Qt Ctreator中配置ARM版本交叉编译环境 328

12.5 交叉编译ARM版本Qt4程序 332

第13章 产品封装、发布 335

13.1 Linux内核镜像格式 335

13.2 Linux内核镜像的产生过程 336

13.3 嵌入式Linux常用文件系统 336

13.4 制作常用的文件系统镜像 338

13.4.1 制作Cramfs文件系统和部署 338

13.4.2 制作JFFS2文件系统镜像和部署 339

13.4.3 制作YAFFS2文件系统镜像和部署 340

第14章 S3C6410平台Linux环境搭建 342

14.1 概述 342

14.2 编译器的安装 342

14.3 编译U-Boot和内核 342

14.3.1 编译U-Boot 342

14.3.2 编译内核 343

14.4 烧写内核到NAND Flash 344

14.4.1 制作用于一键烧写Linux的SD卡 344

14.4.2 烧写Linux到开发板的NAND Flash中 347

14.5 文件程序或文件下载到开发板中 350

14.5.1 通过超级终端下载 350

14.5.2 通过SD卡复制 352

附录A Linux开发平台硬件介绍 355

A.1 S3C2440系列芯片介绍 355

A.2 S3C2440开发板硬件设计说明 357

A.2.1 电源设计 357

A.2.2 复位电路 358

A.2.3 系统时钟电路 358

A.2.4 JTAG接口电路 358

A.2.5 GPIO电路、指示灯电路、按键电路 359

A.2.6 蜂鸣器电路 360

A.2.7 串口电路 360

A.2.8 A/D和D/A电路 361

A.2.9 外部Flash芯片 362

A.2.10 SD卡接口电路 362

A.2.11 SDARM芯片模块 363

A.2.12 NOR Flash芯片模块 364

A.2.13 NAND Flash芯片模块 364

A.2.14 USB接口 365

A.2.15 网络模块 365

A.2.16 音频输入与输出电路 365

A.2.17 LCD接口和CMOS摄像接口 367

A.2.18 系统总线接口 368

A.2.19 开发板完整原理图 368

附录B JTAG仿真调试器下载程序的过程 369

附录C J-Link仿真调试器的使用 371

附录D Linux常用命令介绍 375

参考文献 377

精品推荐