嵌入式Linux系统开发全程解析

嵌入式Linux系统开发全程解析

韩超, 等著

出版社:电子工业出版社

年代:2014

定价:79.0

书籍简介:

本书是一本全面介绍嵌入式Linux开发的书,书中的内容涵盖了从程序生成工具、调试工具、引导加载器、Linux系统结构、Linux内核、驱动程序、用户空间编程、用户空间中间件等方面的内容。本书的内容前后照应、贴近实践、有较强的延伸型,有利于读者建立嵌入式Linux开发系统化的知识结构和技术理念。

作者介绍:

韩超,是大陆嵌入式系统技术专家、著名工程师、架构师,嵌入式Linux相关技术在大陆发展十余年的技术领航人之一。主要从事相关技术研发方向包括:Linux软件平台、嵌入式Linux板级平台、GUI系统和应用、移动多媒体。对嵌入式Linux的技术把握以实用技术为主,以操作系统本身为辅,重视在系统使用特定硬件,内核与用户空间的交互,适用于嵌入式Linux的软件工程等方面。

书籍目录:

第1章 Linux的开发环境

1.1 开发环境概述

1.2 串口终端工具

1.3 TFTP

1.4 NFS

1.5 SAMBA共享

1.6 Linux系统的软件发布协议

第2章 程序生成和GCC

2.1 程序生成工具概述

2.1.1 GUN的GCC工具

2.1.2 ELF文件格式

2.2 GCC工具的使用

2.2.1 示例工程

2.2.2 编译、汇编和连接

2.2.3 预处理和汇编

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

2.2.5 动态库

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

2.2.7 符号信息工具(nm)

2.2.8 字符串工具(strings)

2.2.9 去除符号(strip)

2.2.10 目标文件复制(objcopy)

2.2.11 目标文件信息(objdump)

第3章 工程管理和make机制

3.1 make工具

3.2 Makefile的基本原则

3.2.1 Makefile的变量

3.2.2 Makefile的条件执行

3.2.3 Makefile中的函数

3.3 Makefile使用示例

3.3.1 简单的Makefile

3.3.2 依赖关系实例

3.3.3 隐含规则的编译实例

3.3.4 指定依赖的编译实例

3.4 自动生成Makefile

3.4.1 autoconf工具介绍

3.4.2 automake工具介绍

3.4.3 其他工具

3.4.4 自动生成Makefile的流程

第4章 调试和GDB

4.1 嵌入式系统的调试技术

4.1.1 调试技术

4.1.2 硬件调试

4.1.3 代码调试

4.2 Linux的基本信息

4.3 GDB调试和远程调试

4.4 GDB的安装与使用

4.4.1 使用gdbstub实现调试用户

程序

4.4.2 GDB和GDB Server的编译

4.5 使用gdbserver调试

第5章 Linux系统的结构

5.1 Linux操作系统基本概念

5.1.1 Linux的进程信息

5.1.2 Linux的文件系统和文件

信息

5.1.3 文件的另外三位属性

5.2 Linux系统的组成和构建

5.2.1 Linux系统的组成

5.2.2 嵌入式Linux的构建

5.3 Linux系统的启动流程

第6章 BootLoader及其构建

6.1 嵌入式Linux的BootLoader

6.1.1 BootLoader的开发要点

6.1.2 BootLoader的结构

6.2 U-Boot的使用

6.2.1 U-Boot概述

6.2.2 U-Boot的结构

6.2.3 U-Boot的生成

6.2.4 U-Boot的启动流程

6.3 U-Boot的命令

6.3.1 U-Boot命令概述

6.3.2 增加命令

6.4 U-Boot的移植

6.4.1 U-Boot的移植概述

6.4.2 U-Boot的扩展

6.4.3 板级支持

第7章 Linux内核及其构建

7.1 Linux内核概述

7.1.1 Linux内核结构

7.1.2 Linux源文件结构

7.2 嵌入式Linux的配置和编译

7.2.1 Linux内核配置结构

7.2.2 Linux内核的配置

7.2.3 Linux内核的生成

7.3 Linux内核的启动过程

7.4 特定系统的Linux的构建

7.4.1 Linux内核的移植

7.4.2 ARM处理器上运行的Linux

系统

7.4.3 S3C6410 Linux内核的构建

7.4.4 S3C6410 Linux内核的移植

内容

第8章 文件系统及其构建

8.1 Linux文件系统特性

8.2 Linux文件系统的结构

8.2.1 文件系统的主要接口

8.2.2 文件系统的实现

8.2.3 默认的公共实现

8.3 几种Linux使用的文件系统

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

8.3.2 NFS(网络文件系统)

8.3.3 ROMFS(只读文件系统)

8.3.4 CRAMFS(压缩ROM文件

系统)

8.3.5 JFFS2(日志Flash文件

系统)

8.3.6 YAFFS(另一种Flash文件

系统)

8.3.7 UBIFS(非排序块映像文件

系统)

8.4 Linux文件系统的构建

8.4.1 根文件系统的结构

8.4.2 制作根文件系统映像

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

第9章 Linux用户空间的核心

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

9.2 C语言库

9.3 Shell工具Busybox

9.3.1 Busybox配置和编译

9.3.2 Busybox的源代码结构

第10章 Linux用户空间的编程

10.1 Linux用户空间编程概述

10.2 文件的相关内容

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

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

10.2.3 文件的其他操作

10.3 进程相关的内容

10.3.1 fork和exec

10.3.2 管道

10.3.3 System V IPC

10.3.4 POSIX IPC

10.4 信号相关的内容

10.5 pthread线程

10.5.1 线程的基本使用

10.5.2 线程的属性

10.5.3 线程互斥量

10.5.4 线程条件量

10.5.5 线程取消

10.6 dlopen机制

10.6.1 dlopen的结构和意义

10.6.2 在C语言中使用dlopen

10.6.3 在C++中使用dlopen

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

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

11.2 网络协议相关

11.2.1 Linux套接字编程的基础

11.2.2 TCP和UDP协议的流程

11.2.3 TCP编程实例

11.2.4 UDP编程实例

11.2.5 深入网络编程

11.2.6 用作IPC的UNIX Socket

11.3 GUI应用开发

11.3.1 Qt系统

11.3.2 MiniGUI应用程序

11.3.3 MicroWindows(Nano-X Window)

11.4 数据库

11.4.1 关于嵌入式数据库

11.4.2 SQLite

第12章 Linux驱动基础

12.1 Linux驱动概述

12.1.1 驱动的理念和结构

12.1.2 驱动程序对用户空间的

接口

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

12.2.1 设备文件

12.2.2 sys文件系统

12.2.3 proc文件系统

第13章 Linux的内核编程

13.1 Linux内核编程概述

13.2 内核模块的编写

13.2.1 Linux内核中的模块

13.2.2 内核模块的编译结构

13.3 内核编程接口

13.3.1 Linux编程风格

13.3.2 Linux编程主要接口

第14章 Linux的驱动核心架构

14.1 用户空间的接口

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

14.1.2 系统调用

14.1.3 驱动的主要调用函数

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

14.2.1 文件操作file_operations

14.2.2 字符设备的基本框架

14.2.3 块设备的框架

14.2.4 字符设备和块设备的默认

file_operations实现

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

14.3.1 网络系统的核心

14.3.2 网络协议的实现

14.3.3 网络设备的框架

14.4 proc文件系统的框架

14.4.1 proc文件系统的编程接口

14.4.2 proc文件系统的实现

14.5 sys文件系统的框架

14.5.1 sys文件系统的编程接口

14.5.2 sys文件系统的实现

第15章 Linux驱动的要点

15.1 驱动程序的核心实现

15.2 设备、驱动和资源

15.3 中断的处理

15.4 中断的下半部

15.4.1 软中断

15.4.2 软中断之tasklet

15.4.3 软中断之定时器

15.5 竞态处理

15.5.1 自旋锁

15.5.2 信号量

15.6 阻塞处理

15.7 异步操作

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

16.1 设备驱动概述

16.2 内存设备驱动

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

16.2.2 空设备

16.2.3 零设备

16.2.4 满设备

16.3 内存块设备驱动

16.4 回环块设备驱动

16.5 回环网络设备驱动

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

的驱动

17.1 Misc驱动框架

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

17.2.1 帧缓冲驱动框架

17.2.2 虚拟帧缓冲驱动

17.2.3 针对硬件实现的帧缓冲

驱动

17.3 输入-事件驱动框架

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

17.3.2 针对硬件的事件驱动

17.4 GPIO驱动框架和具体驱动

17.4.1 GPIO驱动框架

17.4.2 GPIO具体硬件的驱动

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

17.5.1 Power Supply驱动框架

17.5.2 Power Supply驱动

17.6 TTY驱动框架和驱动

17.6.1 TTY驱动框架

17.6.2 伪TTY驱动

17.6.3 串口TTY和虚拟TTY

第18章 MTD系统和驱动

18.1 MTD概述

18.2 MTD的核心

18.2.1 MTD的接口部分

18.2.2 MTD的核心实现部分

18.3 MTD的设备层

18.3.1 MTD字符设备

18.3.2 MTD块设备

18.4 CFI硬件实现层

18.4.1 公用部分

18.4.2 ROM的MTD实现

18.4.3 RAM的MTD实现

18.4.4 Nor Flash的MTD实现

18.5 Nand Flash的硬件实现层

18.5.1 公用部分

18.5.2 GPIO的Nand Flash实现

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

第19章 USB系统和驱动

19.1 USB概述

19.1.1 USB规范

19.1.2 USB的软件系统

19.2 Linux的USB主机端支持

19.2.1 USB主机端的软件结构

19.2.2 USB主机端的核心部分

19.2.3 USB驱动的实现

19.2.4 HCI的实现

19.3 Linux的USB设备端支持

19.3.1 USB设备端的软件结构

19.3.2 Gadget的核心部分

19.3.3 Gadget驱动

19.3.4 UDC驱动的实现

第20章 SPI总线和驱动

20.1 SPI概述

20.2 SPI总线驱动的框架

20.3 简单字符设备spidev

20.4 SPI主控制器的实现

20.4.1 GPIO实现的SPI主控制器

20.4.2 S3C64xx的SPI主控制器

20.5 SPI从设备的驱动

第21章 I2C总线和驱动

21.1 I2C概述

21.1.1 基本概念

21.1.2 SMBus

21.2 I2C总线驱动的框架

21.2.1 I2C核心框架

21.2.2 I2C总线接口

21.2.3 I2C设备和驱动

21.3 具体的I2C主控制器

21.4 I2C从设备的驱动

第22章 PCI总线和驱动

22.1 PCI概述

22.1.1 PCI的基本结构

22.1.2 PCI的总线信号

22.1.3 PCI的总线操作

22.1.4 PCI的总线配置

22.1.5 PCI的发展和衍生标准

22.2 PCI总线的驱动框架

22.3 PCI设备的驱动

22.3.1 PCI的桩实现

22.3.2 网卡的PCI实现

第23章 音频系统和驱动

23.1 音频系统概述

23.2 OSS架构

23.2.1 OSS系统的结构

23.2.2 OSS系统的核心

23.2.3 OSS系统的实现

23.3 ALSA架构

23.3.1 ALSA系统的结构

23.3.2 ALSA系统的核心

23.3.3 ALSA系统芯片层

23.3.4 ALSA的用户空间

第24章 视频系统和驱动

24.1 视频系统概述

24.2 Video for Linux系统

24.2.1 基本结构

24.2.2 Video for Linux的核心结构

24.2.3 Video for Linux的其他方面

24.2.4 Video for Linux驱动的接口

24.2.5 Video for Linux驱动的实现层

内容摘要:

《嵌入式Linux系统开发全程解析》是一本全面介绍嵌入式Linux开发的专著,书中涵盖了程序生成工具、调试工具、引导加载器、Linux系统结构、Linux内核、驱动程序、用户空间编程、用户空间中间件等方面的内容。本书内容前后照应、贴近实践,且有较强的延伸型,有利于读者建立嵌入式Linux开发系统化的知识结构和技术理念。

编辑推荐:

《嵌入式Linux系统开发全程解析》是一本全面介绍嵌入式Linux开发的专著。书中涵盖了程序生成工具、调试工具、引导加载器、Linux系统结构、Linux内核、驱动程序、用户空间编程、用户空间中间件等方面的内容。

书籍规格:

书籍详细信息
书名嵌入式Linux系统开发全程解析站内查询相似图书
9787121228889
如需购买下载《嵌入式Linux系统开发全程解析》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)79.0语种简体中文
尺寸26 × 19装帧平装
页数印数

书籍信息归属:

嵌入式Linux系统开发全程解析是电子工业出版社于2014.5出版的中图分类号为 TP316.89 的主题关于 Linux操作系统-程序设计 的书籍。