本书是中国电子学会嵌入式专家委员会指定教材之一,是一部关于Linux应用编程的实用教材,全书对嵌入式Linux系统进行了详细、系统的介绍,并对嵌入式Linux环境下的应用程序开发知识进行了介绍,包括嵌入式Linux基本概念和开发流程、BootLoader的工作原理、内核裁减配置和交叉编译、根文件系统制作、网络编程及图形界面开发等知识。本书适合计算机专业人员参考学习。
专家指导委员会
前言
第1章 Linux系统入门基础
1.1认识Linux操作系统
1.1.1Linux和Unix的简明历史
1.1.2Linux系统的特点和组成
1.1.3Linux的开发过程
1.2基本操作命令
1.2.1字符界面简介
1.2.2常用命令简介
1.3Linuxs文件与目录系统
1.3.1Linux文件系统类型介绍
1.3.2LiIFlUX目录系统
1.4shell简介
1.5网络服务简介
1.5.1Linux支持的网络协议
1.5.2Linux的网络服务
第2章 Linux程序设计基础——C环境
2.1Linux编程环境介绍
2.1.1系统平台环境
2.1.2开发工具环境
2.1.3基于文本模式的开发平台
2.1.4集成开发平台Eclipse+CDT
2.1.5文档帮助环境
2.2常用编辑器
2.2.1VIM编辑器
2.2.2Emacs编辑器
2.3gcc编译器的使用
2.3.1gcc的主要选项
2.3.2GNuc扩展简介
2.4GNumake管理项目
2.4.1make简介
2.4.2编写Makefile文件的规则
2.5GDB调试
2.5.1GDB命令介绍
2.5.2GDB调试例程
2.5.3基于GDB的图形界面调试工具
第3章 Linux shell编程
3.1创建和运行外壳程序
3.1.1创建外壳程序
3.1.2运行外壳程序
3.2使用外壳变量
3.2.1给变量赋值
3.2.2读取变量的值
3.2.3位置变量和其他系统变量
3.2.4引号的作用
3.3数值运算命令
3.4条件表达式
3.4.1if表达式
3.4.2case表达式
3.5循环语句
3.5.1for语句
3.5.2while语句
3.5.3until语句
3.6shift命令
3.7select语句
3.8repeat语句
3.9函数
3.10shell应用举例
第4章 构建嵌入式Linux系统
4.1GNU跨平台开发工具链
4.1.1基础知识
4.1.2GNU跨平台开发链的建立过程
4.2嵌入式Linux内核
4.3嵌入式Linux根文件系统
4.4 BootLoader简介
第5章 嵌入式BootLoader技术
5.1 BootLoader的基本概念
5.1.1 BootLoader所支持的CPU和嵌入式板
5.1.2 BootLoader的安装点和启动过程
5.1.3 BootLoader的操作模式
5.1.4 BootLoader与主机之间的通信方式
5.2 BootLoader典型结构框架
5.2.1 BootLoader的stage1
5.2.2 BootLoader的stage2
5.3典型BootLoader(Blob)分析和移植
5.3.1 Blob简介
5.3.2 Blob的运行过程分析
5.3.3 Blob的移植
第6章 ARM-Linux内核分析
6.1ARM微处理器
6.1.1RISC体系结构
6.1.2ARM微处理器的寄存器结构
6.1.3ARM微处理器的指令结构
6.2ARM—Linux的内存管理
6.2.1内存管理单元MMU
6.2.2ARM—Linux的存储管理机制
6.2.3ARM—Linux存储机制的建立
6.2.4ARM-Linux对进程虚拟空间的管理
6.3ARM-Linux进程管理与调度
6.3task_struct数据结构
6.3.2Linux进程的创建、执行和消亡
6.3.3ARMLinux的进程调度
6.4ARM—Linux中断响应与处理
6.4.1 ARM的异常中断种类一
6.4.2 ARM处理器对异常中断的响应及返回过程
6.5ARM.Linux系统启动与初始化
6.5.1内核数据结构的初始化
6.5.2外设初始化
6.5.3 init进程和inittab文件
6.5.4 rc启动脚本
6.5.5 shell的启动
6.6 Linux模块化机制
6.6.1 Linux的模块化
6.6.2模块的载入
6.6.3模块的卸载
6.7ARM-Linux内核裁减
第7章 嵌入式文件系统
7.1Linux文件系统结构与特征
7.1.1Linux文件系统概述
7.1.2Linux文件系统布局
7.1.3Linux支持的文件系统
7.2嵌入式文件系统简介
7.2.1嵌入式文件系统JFFS简介
7.2.2嵌入式文件系统YAFFS简介
7.3构建根文件系统
7.4根文件系统设置
7.5BusyBox
7.5.1BusyBox简介
7.5.2使用BusyBox构建根文件系统
第8章 嵌入式Linux多线程编程
8.1线程基本概念
8.1.1Linux线程简介
8.1.2Linux线程编程基础
8.2多线程同步
8.2.1互斥锁
8.2.2条件变量
8,2.3信号量
8.3生产者一消费者问题
8.3.1生产者一消费者问题简介
8.3.2生产者一消费者问题实例
第9章 简单嵌入式Web服务器设计
9.1 HTTP协议基础
9.1.1 HTTP协议概述
9.1.2 HTTP协议的方法
9.1.3 HTTP协议消息头
9.1.4 HTTP协议使用举例
9.2 socket编程基础
9.2.1socket描述
9.2.2TCP/IP模型
9.2.3socket描述符
9.3嵌入式Web服务器系统结构
9.3.1协议标准
9.3.2瘦web服务器
9.3.3嵌入式应用接口技术
9.3.4实现形式
9.3.5EMIT
9.3.6RomPager
9.4Web服务器构建
第10章 嵌入式GUI
10.1嵌入式GUI简介
10.1.1 MimUUI
10.1.2 Qt/Embedded
10.1.3 Nano-X
10.1.4 OpenGUI
10.2 MiniGUI程序设计基础
10.2.1 MiniGUI的特点
10.2.2窗口处理过程
10.2.3 MiniGUI的线程机制
10.2.4 MiniGUI的体系结构
10.2.5 MiniGUI的底层引擎
10.2.6 MiniGUI的三种运行模式
10.3 Qt/Embedded程序设计基础
1O.3.1 Qt/Embedded的图形引擎实现基础
1O.3.2 Qt/Embedded的事件驱动基础
10.3.3 Qt/Embedded底层支持分析
10.4嵌入式GUI的移植
参考文献