书籍详情
嵌入式Linux系统开发标准教程(第2版)
作者:华清远见嵌入式培训中心 编著
出版社:人民邮电出版社
出版时间:2009-03-01
ISBN:9787115194756
定价:¥45.00
购买这本书可以去
内容简介
《嵌入式Linux系统开发标准教程(第2版)》以嵌入式Linux系统开发流程为主线,剖析了嵌入式Linux系统构建的各个环节。《嵌入式Linux系统开发标准教程(第2版)》从嵌入式系统基础知识和Linux编程技术讲起,接下来介绍了嵌入式Linux交叉开发环境的建立,然后分析了嵌入式Linux系统的引导程序、内核和文件系统三大组成部分,最后介绍了嵌入式Linux系统集成和部署的方法。《嵌入式Linux系统开发标准教程(第2版)》先以ARM平台为例,对U-Boot和Linux内核启动过程做了详细分析,为学习嵌入式Linux系统开发奠定基础,然后从概念上阐述了嵌入式Linux系统开发流程,实践上提供了具体的操作步骤,使读者能够深入理解嵌入式Linux系统的构建。《嵌入式Linux系统开发标准教程(第2版)》可作为高等院校电子类、电气类、控制类等专业高年级本科生、研究生学习嵌入式Linux的教材,也可供希望进入嵌入式领域的科研和工程技术人员参考使用,还可作为嵌入式培训班的教材和教辅材料。
作者简介
暂缺《嵌入式Linux系统开发标准教程(第2版)》作者简介
目录
第1章 嵌入式系统概述
1.1 嵌入式系统的定义与特点
1.2 常见的嵌入式操作系统
1.3 嵌入式Linux的发展历史
1.4 初步认识嵌入式Linux开发环境
1.5 嵌入式Linux系统开发要点
第2章 ARM嵌入式处理器
2.1 初识ARM
2.1.1 ARM公司简介
2.1.2 ARM体系结构基础
2.1.3 Linux与ARM处理器
2.2 ARM指令集
2.2.1 ARM处理器的指令集概述
2.2.2 ARM指令寻址方式
2.2.3 Thumb指令概述
2.3 典型ARM处理器简介
2.3.1 Atmel AT91RM9200
2.3.2 Samsung S3C2410
2.3.3 TI OMAP1510/1610系列
2.3.4 Freescale i.Max21
2.4 典型的嵌入式系统开发平台——三星S3C2410开发板
第3章 Linux编程环境
3.1 Linux常用工具
3.1.1 Shell简介
3.1.2 常用Shell命令
3.1.3 编写Shell脚本
3.1.4 正则表达式
3.1.5 Linux程序编辑器
3.2 Makefile简介
3.2.1 GNU make
3.2.2 Makefile规则语法
3.2.3 Makefile文件中变量的使用
3.3 二进制代码工具的使用
3.3.1 GNU Binutils工具介绍
3.3.2 Binutils工具软件使用
3.4 编译器GCC的使用
3.4.1 GCC编译器介绍
3.4.2 GCC编译选项解析
3.5 调试器GDB的使用技巧
3.5.1 GDB调试器介绍
3.5.2 GDB调试命令
3.6 Linux编程库
3.6.1 Linux编程库介绍
3.6.2 Linux系统调用
3.6.3 Linux线程库
第4章 嵌入式交叉开发环境
4.1 交叉开发环境介绍
4.1.1 交叉开发概念模型
4.1.2 目标板与主机之间的连接
4.1.3 文件传输
4.1.4 网络文件系统
4.2 安装交叉编译工具
4.2.1 获取交叉开发工具链
4.2.2 主机安装工具链
4.3 主机开发环境配置
4.3.1 主机环境配置
4.3.2 串口控制台工具
4.3.3 DHCP服务
4.3.4 TFTP服务
4.3.5 NFS服务
4.4 启动目标板
4.4.1 系统引导过程
4.4.2 内核解压启动
4.4.3 挂接根文件系统
4.5 应用程序的远程交叉调试
4.5.1 交叉调试的模型
4.5.2 交叉调试程序实例
第5章 交叉开发工具链
5.1 工具链软件
5.1.1 相关软件工程
5.1.2 软件版本的匹配
5.1.3 工具链制作流程
5.2 制作交叉编译器
5.2.1 准备编译环境
5.2.2 编译binutils
5.2.3 编译GCC的辅助编译器
5.2.4 编译生成glibc库
5.2.5 编译生成完整的GCC编译器
5.3 制作交叉调试器
5.3.1 编译交叉调试器
5.3.2 编译gdbserver
第6章 Bootloader
6.1 Bootloader
6.1.1 Bootloader介绍
6.1.2 Bootloader的启动
6.1.3 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.2.5 添加U-Boot命令
6.3 U-Boot的调试
6.3.1 硬件调试器
6.3.2 软件跟踪
6.3.3 U-Boot启动过程
6.3.4 U-Boot与内核的关系
6.4 使用U-Boot
6.4.1 烧写U-Boot到Flash
6.4.2 U-Boot的常用命令
6.4.3 U-Boot的环境变量
第7章 配置编译Linux 2.6内核
7.1 Linux内核特点
7.1.1 Linux内核版本介绍
7.1.2 Linux内核特点
7.1.3 Linux 2.6内核新特性
7.2 配置编译内核源码
7.2.1 内核源码结构
7.2.2 内核配置系统
7.2.3 Kbuild Makefile
7.2.4 内核编译
7.2.5 内核编译结果
7.3 内核配置选项
7.3.1 使用配置菜单
7.3.2 基本配置选项
7.3.3 驱动程序配置选项
第8章 基于ARM的Linux内核移植
8.1 移植内核源码
8.1.1 移植前的准备工作
8.1.2 开发板内核移植
8.1.3 移植后的工作
8.2 Linux内核启动过程分析
8.2.1 内核启动流程源代码分析
8.2.2 内核自引导程序
8.2.3 内核vmlinux入口
8.2.4 Linux系统初始化函数分析
8.2.5 挂接根文件系统
8.2.6 初始化设备驱动
8.2.7 启动用户空间init进程
第9章 内核调试技术
9.1 内核调试方法
9.1.1 内核调试概述
9.1.2 学会分析内核源程序
9.1.3 调试方法介绍
9.2 内核打印函数
9.2.1 内核映像解压前的串口输出函数
9.2.2 内核错误报告子程序
9.2.3 内核打印函数
9.3 如何获取内核信息
9.3.1 使用系统请求键
9.3.2 通过/proc接口
9.3.3 通过/sys接口
9.3.4 通过ioctl方法
9.4 处理出错信息
9.4.1 oops信息
9.4.2 panic
9.5 内核源码调试
9.5.1 KGDB调试内核源代码
9.5.2 BDI2000调试内核源代码
第10章 制作Linux根文件系统
10.1 根文件系统目录结构
10.1.1 FHS目录结构
10.1.2 文件存放规则
10.2 添加系统文件
10.2.1 添加共享链接库
10.2.2 添加内核模块
10.2.3 添加设备文件
10.3 init系统初始化过程
10.3.1 inittab文件
10.3.2 System V init启动过程
10.3.3 Busybox init启动过程分析
10.4 定制文件系统
10.4.1 定制应用程序
10.4.2 配置应用程序自动启动
第11章 在嵌入式系统中充分利用开源软件
11.1 开放源代码工程介绍
11.1.1 Linux系统和开源软件
11.1.2 开源软件的特点
11.2 Busybox使用
11.2.1 Busybox工程介绍
11.2.2 配置编译Busybox
11.3 X11图形系统
11.3.1 X Windows介绍
11.3.2 Tiny-X介绍
11.3.3 GTK图形库
11.4 Qt图形库
11.4.1 Qt介绍
11.4.2 Qt/Embedded介绍
11.4.3 Qt/Embedded架构
11.4.4 Qt/Embedded软件包与安装
11.5 MiniGUI图形系统
11.5.1 MiniGUI图形系统概述
11.5.2 MiniGUI移植
11.6 MicroWindows图形系统
11.7 Linux下的网络应用
11.7.1 嵌入式设备的网络化
11.7.2 TCP/IP协议概述
11.7.3 Linux下的Socket编程
11.8 嵌入式Linux的串行通信
11.8.1 Linux下的串口操作
11.8.2 Linux串口编程实例
第12章 系统集成测试
12.1 系统集成测试
12.1.1 系统集成测试概述
12.1.2 系统集成测试要求
12.2 系统跟踪工具
12.2.1 为什么需要跟踪工具
12.2.2 Strace
12.2.3 Ltrace
12.2.4 LTT
12.3 系统性能测量工具
12.3.1 代码效率测量
12.3.2 LTP
12.3.3 LMbench
12.4 测量内存泄漏
12.4.1 mtrace
12.4.2 dmalloc
12.4.3 memwatch
12.4.4 YAMD
第13章 部署Linux系统
13.1 部署Linux系统概述
13.1.1 部署Linux系统的基本流程
13.1.2 部署Linux系统的关键问题
13.2 文件系统类型
13.2.1 EXT2/EXT3
13.2.2 JFS
13.2.3 cramfs
13.2.4 JFFS/JFFS2
13.2.5 YAFFS
13.3 存储设备
13.3.1 MTD类型设备
13.3.2 磁盘类型设备
13.4 部署Linux系统
13.4.1 安装MTD工具
13.4.2 使用磁盘文件系统
13.4.3 使用RAMDISK设备
13.4.4 使用MTD设备和JFFS2文件系统
13.4.5 系统启动和升级
第14章 嵌入式Linux系统软硬件设计开发实例——GPS系统
14.1 需求分析
14.2 系统硬件设计
14.3 系统软件设计
14.4 系统集成与部署
1.1 嵌入式系统的定义与特点
1.2 常见的嵌入式操作系统
1.3 嵌入式Linux的发展历史
1.4 初步认识嵌入式Linux开发环境
1.5 嵌入式Linux系统开发要点
第2章 ARM嵌入式处理器
2.1 初识ARM
2.1.1 ARM公司简介
2.1.2 ARM体系结构基础
2.1.3 Linux与ARM处理器
2.2 ARM指令集
2.2.1 ARM处理器的指令集概述
2.2.2 ARM指令寻址方式
2.2.3 Thumb指令概述
2.3 典型ARM处理器简介
2.3.1 Atmel AT91RM9200
2.3.2 Samsung S3C2410
2.3.3 TI OMAP1510/1610系列
2.3.4 Freescale i.Max21
2.4 典型的嵌入式系统开发平台——三星S3C2410开发板
第3章 Linux编程环境
3.1 Linux常用工具
3.1.1 Shell简介
3.1.2 常用Shell命令
3.1.3 编写Shell脚本
3.1.4 正则表达式
3.1.5 Linux程序编辑器
3.2 Makefile简介
3.2.1 GNU make
3.2.2 Makefile规则语法
3.2.3 Makefile文件中变量的使用
3.3 二进制代码工具的使用
3.3.1 GNU Binutils工具介绍
3.3.2 Binutils工具软件使用
3.4 编译器GCC的使用
3.4.1 GCC编译器介绍
3.4.2 GCC编译选项解析
3.5 调试器GDB的使用技巧
3.5.1 GDB调试器介绍
3.5.2 GDB调试命令
3.6 Linux编程库
3.6.1 Linux编程库介绍
3.6.2 Linux系统调用
3.6.3 Linux线程库
第4章 嵌入式交叉开发环境
4.1 交叉开发环境介绍
4.1.1 交叉开发概念模型
4.1.2 目标板与主机之间的连接
4.1.3 文件传输
4.1.4 网络文件系统
4.2 安装交叉编译工具
4.2.1 获取交叉开发工具链
4.2.2 主机安装工具链
4.3 主机开发环境配置
4.3.1 主机环境配置
4.3.2 串口控制台工具
4.3.3 DHCP服务
4.3.4 TFTP服务
4.3.5 NFS服务
4.4 启动目标板
4.4.1 系统引导过程
4.4.2 内核解压启动
4.4.3 挂接根文件系统
4.5 应用程序的远程交叉调试
4.5.1 交叉调试的模型
4.5.2 交叉调试程序实例
第5章 交叉开发工具链
5.1 工具链软件
5.1.1 相关软件工程
5.1.2 软件版本的匹配
5.1.3 工具链制作流程
5.2 制作交叉编译器
5.2.1 准备编译环境
5.2.2 编译binutils
5.2.3 编译GCC的辅助编译器
5.2.4 编译生成glibc库
5.2.5 编译生成完整的GCC编译器
5.3 制作交叉调试器
5.3.1 编译交叉调试器
5.3.2 编译gdbserver
第6章 Bootloader
6.1 Bootloader
6.1.1 Bootloader介绍
6.1.2 Bootloader的启动
6.1.3 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.2.5 添加U-Boot命令
6.3 U-Boot的调试
6.3.1 硬件调试器
6.3.2 软件跟踪
6.3.3 U-Boot启动过程
6.3.4 U-Boot与内核的关系
6.4 使用U-Boot
6.4.1 烧写U-Boot到Flash
6.4.2 U-Boot的常用命令
6.4.3 U-Boot的环境变量
第7章 配置编译Linux 2.6内核
7.1 Linux内核特点
7.1.1 Linux内核版本介绍
7.1.2 Linux内核特点
7.1.3 Linux 2.6内核新特性
7.2 配置编译内核源码
7.2.1 内核源码结构
7.2.2 内核配置系统
7.2.3 Kbuild Makefile
7.2.4 内核编译
7.2.5 内核编译结果
7.3 内核配置选项
7.3.1 使用配置菜单
7.3.2 基本配置选项
7.3.3 驱动程序配置选项
第8章 基于ARM的Linux内核移植
8.1 移植内核源码
8.1.1 移植前的准备工作
8.1.2 开发板内核移植
8.1.3 移植后的工作
8.2 Linux内核启动过程分析
8.2.1 内核启动流程源代码分析
8.2.2 内核自引导程序
8.2.3 内核vmlinux入口
8.2.4 Linux系统初始化函数分析
8.2.5 挂接根文件系统
8.2.6 初始化设备驱动
8.2.7 启动用户空间init进程
第9章 内核调试技术
9.1 内核调试方法
9.1.1 内核调试概述
9.1.2 学会分析内核源程序
9.1.3 调试方法介绍
9.2 内核打印函数
9.2.1 内核映像解压前的串口输出函数
9.2.2 内核错误报告子程序
9.2.3 内核打印函数
9.3 如何获取内核信息
9.3.1 使用系统请求键
9.3.2 通过/proc接口
9.3.3 通过/sys接口
9.3.4 通过ioctl方法
9.4 处理出错信息
9.4.1 oops信息
9.4.2 panic
9.5 内核源码调试
9.5.1 KGDB调试内核源代码
9.5.2 BDI2000调试内核源代码
第10章 制作Linux根文件系统
10.1 根文件系统目录结构
10.1.1 FHS目录结构
10.1.2 文件存放规则
10.2 添加系统文件
10.2.1 添加共享链接库
10.2.2 添加内核模块
10.2.3 添加设备文件
10.3 init系统初始化过程
10.3.1 inittab文件
10.3.2 System V init启动过程
10.3.3 Busybox init启动过程分析
10.4 定制文件系统
10.4.1 定制应用程序
10.4.2 配置应用程序自动启动
第11章 在嵌入式系统中充分利用开源软件
11.1 开放源代码工程介绍
11.1.1 Linux系统和开源软件
11.1.2 开源软件的特点
11.2 Busybox使用
11.2.1 Busybox工程介绍
11.2.2 配置编译Busybox
11.3 X11图形系统
11.3.1 X Windows介绍
11.3.2 Tiny-X介绍
11.3.3 GTK图形库
11.4 Qt图形库
11.4.1 Qt介绍
11.4.2 Qt/Embedded介绍
11.4.3 Qt/Embedded架构
11.4.4 Qt/Embedded软件包与安装
11.5 MiniGUI图形系统
11.5.1 MiniGUI图形系统概述
11.5.2 MiniGUI移植
11.6 MicroWindows图形系统
11.7 Linux下的网络应用
11.7.1 嵌入式设备的网络化
11.7.2 TCP/IP协议概述
11.7.3 Linux下的Socket编程
11.8 嵌入式Linux的串行通信
11.8.1 Linux下的串口操作
11.8.2 Linux串口编程实例
第12章 系统集成测试
12.1 系统集成测试
12.1.1 系统集成测试概述
12.1.2 系统集成测试要求
12.2 系统跟踪工具
12.2.1 为什么需要跟踪工具
12.2.2 Strace
12.2.3 Ltrace
12.2.4 LTT
12.3 系统性能测量工具
12.3.1 代码效率测量
12.3.2 LTP
12.3.3 LMbench
12.4 测量内存泄漏
12.4.1 mtrace
12.4.2 dmalloc
12.4.3 memwatch
12.4.4 YAMD
第13章 部署Linux系统
13.1 部署Linux系统概述
13.1.1 部署Linux系统的基本流程
13.1.2 部署Linux系统的关键问题
13.2 文件系统类型
13.2.1 EXT2/EXT3
13.2.2 JFS
13.2.3 cramfs
13.2.4 JFFS/JFFS2
13.2.5 YAFFS
13.3 存储设备
13.3.1 MTD类型设备
13.3.2 磁盘类型设备
13.4 部署Linux系统
13.4.1 安装MTD工具
13.4.2 使用磁盘文件系统
13.4.3 使用RAMDISK设备
13.4.4 使用MTD设备和JFFS2文件系统
13.4.5 系统启动和升级
第14章 嵌入式Linux系统软硬件设计开发实例——GPS系统
14.1 需求分析
14.2 系统硬件设计
14.3 系统软件设计
14.4 系统集成与部署
猜您喜欢