图书介绍

嵌入式Linux系统开发全程解析PDF|Epub|txt|kindle电子书版本网盘下载

嵌入式Linux系统开发全程解析
  • 韩超等著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121228889
  • 出版时间:2014
  • 标注页数:426页
  • 文件大小:90MB
  • 文件页数:438页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式Linux系统开发全程解析PDF格式电子书版下载

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

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

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

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

图书目录

第1章 Linux的开发环境1

1.1 开发环境概述1

1.2 串口终端工具2

1.3 TFTP6

1.4 NFS7

1.5 SAMBA共享8

1.6 Linux系统的软件发布协议9

第2章 程序生成和GCC11

2.1 程序生成工具概述11

2.1.1 GUN的GCC工具11

2.1.2 ELF文件格式14

2.2 GCC工具的使用16

2.2.1 示例工程16

2.2.2 编译、汇编和连接18

2.2.3 预处理和汇编20

2.2.4 归档工具(ar)和静态库20

2.2.5 动态库22

2.2.6 ELF格式文件信息读取(readelf)22

2.2.7 符号信息工具(nm)25

2.2.8 字符串工具(strings)26

2.2.9 去除符号(strip)27

2.2.10 目标文件复制(objcopy)28

2.2.11 目标文件信息(objdump)28

第3章 工程管理和make机制33

3.1 make工具33

3.2 Makefile的基本原则34

3.2.1 Makefile的变量34

3.2.2 Makefile的条件执行36

3.2.3 Makefile中的函数36

3.3 Makefile使用示例39

3.3.1 简单的Makefile39

3.3.2 依赖关系实例39

3.3.3 隐含规则的编译实例41

3.3.4 指定依赖的编译实例44

3.4 自动生成Makefile46

3.4.1 autoconf工具介绍46

3.4.2 automake工具介绍46

3.4.3 其他工具47

3.4.4 自动生成Makefile的流程47

第4章 调试和GDB49

4.1 嵌入式系统的调试技术49

4.1.1 调试技术49

4.1.2 硬件调试50

4.1.3 代码调试51

4.2 Linux的基本信息51

4.3 GDB调试和远程调试52

4.4 GDB的安装与使用57

4.4.1 使用gdbstub实现调试用户程序57

4.4.2 GDB和GDB Server的编译59

4.5 使用gdbserver调试61

第5章 Linux系统的结构65

5.1 Linux操作系统基本概念65

5.1.1 Linux的进程信息65

5.1.2 Linux的文件系统和文件信息70

5.1.3 文件的另外三位属性71

5.2 Linux系统的组成和构建72

5.2.1 Linux系统的组成72

5.2.2 嵌入式Linux的构建73

5.3 Linux系统的启动流程74

第6章 BootLoader及其构建76

6.1 嵌入式Linux的BootLoader76

6.1.1 BootLoader的开发要点76

6.1.2 BootLoader的结构78

6.2 U-Boot的使用80

6.2.1 U-Boot概述80

6.2.2 U-Boot的结构81

6.2.3 U-Boot的生成83

6.2.4 U-Boot的启动流程84

6.3 U-Boot的命令86

6.3.1 U-Boot命令概述86

6.3.2 增加命令88

6.4 U-Boot的移植91

6.4.1 U-Boot的移植概述92

6.4.2 U-Boot的扩展92

6.4.3 板级支持94

第7章 Linux内核及其构建97

7.1 Linux内核概述97

7.1.1 Linux内核结构97

7.1.2 Linux源文件结构98

7.2 嵌入式Linux的配置和编译99

7.2.1 Linux内核配置结构99

7.2.2 Linux内核的配置99

7.2.3 Linux内核的生成107

7.3 Linux内核的启动过程108

7.4 特定系统的Linux的构建114

7.4.1 Linux内核的移植114

7.4.2 ARM处理器上运行的Linux系统115

7.4.3 S3C6410 Linux内核的构建117

7.4.4 S3C6410 Linux内核的移植内容118

第8章 文件系统及其构建123

8.1 Linux文件系统特性123

8.2 Linux文件系统的结构125

8.2.1 文件系统的主要接口125

8.2.2 文件系统的实现130

8.2.3 默认的公共实现134

8.3 几种Linux使用的文件系统136

8.3.1 EXT2/3(扩展文件系统2/3)136

8.3.2 NFS(网络文件系统)136

8.3.3 ROMFS(只读文件系统)137

8.3.4 CRAMFS(压缩ROM文件系统)137

8.3.5 JFFS2(日志Flash文件系统)138

8.3.6 YAFFS(另一种Flash文件系统)138

8.3.7 UBIFS(非排序块映像文件系统)139

8.4 Linux文件系统的构建140

8.4.1 根文件系统的结构140

8.4.2 制作根文件系统映像141

8.4.3 内核启动中根文件系统的参数142

第9章 Linux用户空间的核心143

9.1 嵌入式系统中的操作系统和系统关系143

9.2 C语言库144

9.3 Shell工具Busybox147

9.3.1 Busybox配置和编译148

9.3.2 Busybox的源代码结构150

第10章 Linux用户空间的编程152

10.1 Linux用户空间编程概述152

10.2 文件的相关内容154

10.2.1 文件的打开、关闭和读写等155

10.2.2 文件的控制、映射和查询等157

10.2.3 文件的其他操作158

10.3 进程相关的内容159

10.3.1 fork和exec159

10.3.2 管道161

10.3.3 System V IPC162

10.3.4 POSIX IPC165

10.4 信号相关的内容166

10.5 pthread线程168

10.5.1 线程的基本使用169

10.5.2 线程的属性171

10.5.3 线程互斥量172

10.5.4 线程条件量173

10.5.5 线程取消175

10.6 dlopen机制176

10.6.1 dlopen的结构和意义176

10.6.2 在C语言中使用dlopen178

10.6.3 在C++中使用dlopen180

第11章 Linux用户空间的中间件185

11.1 基于嵌入式Linux的系统与中间件185

11.2 网络协议相关186

11.2.1 Linux套接字编程的基础186

11.2.2 TCP和UDP协议的流程189

11.2.3 TCP编程实例189

11.2.4 UDP编程实例193

11.2.5 深入网络编程196

11.2.6 用作IPC的UNIX Socket198

11.3 GUI应用开发201

11.3.1 Qt系统203

11.3.2 MiniGUI应用程序209

11.3.3 MicroWindows(Nano-XWindow)216

11.4 数据库217

11.4.1 关于嵌入式数据库217

11.4.2 SQLite218

第12章 Linux驱动基础228

12.1 Linux驱动概述228

12.1.1 驱动的理念和结构228

12.1.2 驱动程序对用户空间的接口230

12.2 设备文件和相关文件系统230

12.2.1 设备文件230

12.2.2 sys文件系统231

12.2.3 proc文件系统233

第13章 Linux的内核编程237

13.1 Linux内核编程概述237

13.2 内核模块的编写237

13.2.1 Linux内核中的模块237

13.2.2 内核模块的编译结构239

13.3 内核编程接口241

13.3.1 Linux编程风格241

13.3.2 Linux编程主要接口242

第14章 Linux的驱动核心架构248

14.1 用户空间的接口248

14.1.1 用户空间的驱动调用接口248

14.1.2 系统调用248

14.1.3 驱动的主要调用函数249

14.2 字符设备和块设备的框架250

14.2.1 文件操作file_operations250

14.2.2 字符设备的基本框架251

14.2.3 块设备的框架252

14.2.4 字符设备和块设备的默认file_operations实现254

14.3 网络协议和网络设备的框架258

14.3.1 网络系统的核心259

14.3.2 网络协议的实现261

14.3.3 网络设备的框架263

14.4 proc文件系统的框架264

14.4.1 proc文件系统的编程接口264

14.4.2 proc文件系统的实现266

14.5 sys文件系统的框架266

14.5.1 sys文件系统的编程接口266

14.5.2 sys文件系统的实现267

第15章 Linux驱动的要点269

15.1 驱动程序的核心实现269

15.2 设备、驱动和资源273

15.3 中断的处理276

15.4 中断的下半部277

15.4.1 软中断277

15.4.2 软中断之tasklet278

15.4.3 软中断之定时器279

15.5 竞态处理280

15.5.1 自旋锁280

15.5.2 信号量280

15.6 阻塞处理281

15.7 异步操作282

第16章 几个典型的简单驱动283

16.1 设备驱动概述283

16.2 内存设备驱动284

16.2.1 内存设备驱动的公共内容284

16.2.2 空设备286

16.2.3 零设备287

16.2.4 满设备288

16.3 内存块设备驱动288

16.4 回环块设备驱动291

16.5 回环网络设备驱动294

第17章 几个典型的驱动框架和相应的驱动296

17.1 Misc驱动框架296

17.2 帧缓冲驱动框架和具体驱动297

17.2.1 帧缓冲驱动框架297

17.2.2 虚拟帧缓冲驱动300

17.2.3 针对硬件实现的帧缓冲驱动302

17.3 输入-事件驱动框架305

17.3.1 输入-事件驱动框架概述305

17.3.2 针对硬件的事件驱动307

17.4 GPIO驱动框架和具体驱动310

17.4.1 GPIO驱动框架310

17.4.2 GPIO具体硬件的驱动312

17.5 Power Supply驱动框架和具体驱动312

17.5.1 Power Supply驱动框架312

17.5.2 Power Supply驱动313

17.6 TTY驱动框架和驱动314

17.6.1 TTY驱动框架314

17.6.2 伪TTY驱动316

17.6.3 串口TTY和虚拟TTY316

第18章 MTD系统和驱动318

18.1 MTD概述318

18.2 MTD的核心319

18.2.1 MTD的接口部分320

18.2.2 MTD的核心实现部分322

18.3 MTD的设备层322

18.3.1 MTD字符设备322

18.3.2 MTD块设备323

18.4 CFI硬件实现层324

18.4.1 公用部分324

18.4.2 ROM的MTD实现325

18.4.3 RAM的MTD实现325

18.4.4 Nor Flash的MTD实现326

18.5 Nand Flash的硬件实现层326

18.5.1 公用部分326

18.5.2 GPIO的Nand Flash实现327

18.5.3 处理器芯片上的Nand Flash实现330

第19章 USB系统和驱动331

19.1 USB概述331

19.1.1 USB规范331

19.1.2 USB的软件系统333

19.2 Linux的USB主机端支持334

19.2.1 USB主机端的软件结构334

19.2.2 USB主机端的核心部分335

19.2.3 USB驱动的实现337

19.2.2.4 HCI的实现339

19.3 Linux的USB设备端支持340

19.3.1 USB设备端的软件结构340

19.3.2 Gadget的核心部分340

19.3.3 Gadget驱动342

19.3.4 UDC驱动的实现345

第20章 SPI总线和驱动348

20.1 SPI概述348

20.2 SPI总线驱动的框架349

20.3 简单字符设备spidev353

20.4 SPI主控制器的实现355

20.4.1 GPIO实现的SPI主控制器355

20.4.2 S3C64xx的SPI主控制器356

20.5 SPI从设备的驱动358

第21章 I2C总线和驱动361

21.1 I2C概述361

21.1.1 基本概念361

21.1.2 SMBus362

21.2 I2C总线驱动的框架362

21.2.1 I2C核心框架362

21.2.2 I2C总线接口367

21.2.3 I2C设备和驱动368

21.3 具体的I2C主控制器370

21.4 I2C从设备的驱动372

第22章 PCI总线和驱动375

22.1 PCI概述375

22.1.1 PCI的基本结构375

22.1.2 PCI的总线信号377

22.1.3 PCI的总线操作378

22.1.4 PCI的总线配置379

22.1.5 PCI的发展和衍生标准381

22.2 PCI总线的驱动框架381

22.3 PCI设备的驱动384

22.3.1 PCI的桩实现384

22.3.2 网卡的PCI实现385

第23章 音频系统和驱动389

23.1 音频系统概述389

23.2 OSS架构389

23.2.1 OSS系统的结构390

23.2.2 OSS系统的核心391

23.2.3 OSS系统的实现392

23.3 ALSA架构393

23.3.1 ALSA系统的结构393

23.3.2 ALSA系统的核心395

23.3.3 ALSA系统芯片层395

23.3.4 ALSA的用户空间400

第24章 视频系统和驱动403

24.1 视频系统概述403

24.2 Video for Linux系统403

24.2.1 基本结构404

24.2.2 Video for Linux的核心结构405

24.2.3 Video for Linux的其他方面410

24.2.4 Video for Linux驱动的接口413

24.2.5 Video for Linux驱动的实现层417

热门推荐