内容简介
第1章 嵌入式系统基础
1.1嵌入式系统概述
1.2嵌入式操作系统
1.3 Linux操作系统
1.3.1 Linux的发展历史
1.3.2 Linux的发行版本
1.3.3 Linux系统的特点和组成
1.4 ARM处理器平台
1.4.1 ARM处理器简介
1.4.2 ARM处理器的体系结构
1.4.3 ARM微处理器系列
1.4.4 ARM微处理器的应用领域及特点
1.4.5 ARM微处理器的结构
1.4.6 ARM微处理器的应用选型
1.5嵌入式系统开发
1.5.1嵌入式系统的开发流程
1.5.2 Linux程序设计流程
1.6思考与练习
第2章 文本编辑器的使用
2.1 Vi编辑器
2.1.1 Vi的基本模式
2.1.2 Vi的基本操作
2.2 Vim编辑器
2.3 Emacs编辑器
2.3.1 Emacs的启动与退出
2.3.2 Emacs的基本编辑
2.3.3 Emacs的c模式
2.3.4 Emacs的Shell模式
2.4 gedit编辑器
2.5思考与练习
第3章 构建嵌入式Linux开发环境
3.1嵌入式系统开发环境的构建
3.2移植U-Boot
3.2.1 Bootloader简介
3.2.2 Bootloader的启动流程
3.2.3 U-Boot的分析与移植
3.2.4 VIVI分析
3.3嵌入式Linux操作系统内核编译
3.3.1 Linux内核结构
3.3.2内核的配置
3.3.3内核编译的过程
3.3.4内核的移植
3.4思考与练习
第4章Linux常用命令
4.1目录命令
4.1.1 Is
4.1.2 cd
4.1.3 pwd
4.1.4 mkdir
4.1.5 rmdir
4.2文件命令
4.2.1 cp
4.2.2 rm
4.2.3 my
4.2.4 cat
4.2.5 chmod
4.2.6 find
4.2.7 grep
4.2.8 sort
4.3思考与练习
第5章 编译与调试
5.1嵌入式Linux编译器GCC
5.1.1 GCC编译分析
5.1.2 GCC编译选项分析
5.1.3库函数的使用方法
5.2调试工具GDB
5.2.1 GDB使用实例
5.2.2 GDB的帮助
5.2.3设置/删除断点
5.2.4各种相关命令
5.3 Make工程管理器
5.3.1 Makefile文件的构成
5.3.2 Makefile变量
5.3.3 Make管理器的使用
5.4思考与练习
第6章 图形界面应用程序开发
6.1嵌入式图形用户界面
6.2 Linux环境下几种主流的GUI
6.2.1 MiniGUI
6.2.2 Qt/Embedded
6.2.3 MicroWindows
6.2.4 OpenGUI
6.2.5 GTK+
6.3基于MiniGUI的图形界面开发
6.3.1 MiniGUI程序框架
6.3.2 MiniGUI中的窗口与消息
6.3.3菜单
6.3.4键盘与鼠标
6.3.5对话框
6.3.6常用控件
6.4思考与练习
第7章 嵌入式文件系统与存储技术
7.1嵌入式文件系统的功能和特点
7.2 Linux操作系统支持的常见文件系统
7.3 Linux文件结构
7.3.1 Linux文件系统
7.3.2 Linux文件类型
7.3.3 Linux文件的访问权限控制
7.4 Flash存储技术
7.4.1 Flash的类型
7.4.2 Flash的技术特点
7.4.3 NOR Flash与NAND Flash的区别
7.5 NOR Flash与JFFS2文件系统
7.5.1 JFFS2原理
7.5.2 JFFS2文件系统在Linux中的实现
7.6 NAND Flash与YAFFS文件系统
7.6.1 YAFFS原理
7.6.2 YAFFS文件系统在Linux中的实现
7.7思考与练习
第8章Linux设备驱动程序开发
8.1 Linux设备驱动程序概述
8.2 Linux设备驱动程序与内核的关系
8.3 Linux设备驱动程序框架
8.4设备访问方式及实现
8.4.1查询方式
8.4.2中断方式
8.4.3 DMA方式
8.5字符设备驱动
8.6块设备驱动
8.6.1块设备驱动简介
8.6.2块设备相关结构体
8.7网络设备驱动
8.7.1网络设备简介
8.7.2网络设备的运行机制
8.7.3 sk buff数据结构
8.7.4数据包的发送与接收
8.7.5 网络设备驱动程序的加载
8.7.6 DM9000网卡驱动程序分析
8.8思考与练习
第9章 进程控制
9.1 Linux进程
9.1.1 Linux进程简介
9.1.2 Linux进程调度
9.1.3进程的内存映像
9.2进程控制
9.2.1创建进程
9.2.2创建守护进程
9.2.3进程退出
9.2.4改变进程的优先级
9.2.5执行新程序
9.2.6等待进程结束
9.3进程间通信
9.3.1管道
9.3.2有名管道
9.3.3消息队列
9.3.4信号量
9.3.5 共享内存
9.4思考与练习
第10章 线程控制
10.1 Linux线程
10.1.1线程和进程的关系
10.1.2线程的分类
10.2创建线程
10.3线程的属性
10.4线程等待终止
10.5私有数据
10.6线程同步
10.6.1互斥锁
10.6.2条件变量
10.6.3信号量
10.7出错处理
10.7.1错误码
10.7.2出错处理相关函数
10.8思考与练习
第11章 嵌入式车载终端的设计
11.1车载终端的硬件平台
11.1.1 S3C2440A微处理器
11.1.2车辆监控系统
11.1.3存储单元
11.1.4 LCD
11.1.5数字音频接口
11.2嵌入式开发环境的建立
11.3嵌入式车载终端软件的开发
11.3.1 GPRS通信模块
11.3.2温度自动调节系统
11.3.3可视倒车功能的实现
11.3.4车载语音电话
第12章 嵌入式BOA服务器的构建
12.1嵌入式Web服务器
12.2嵌入式Linux系统移植
12.2.1开发环境的构建
12.2.2 Boot Loader分析移植
12.2.3 Linux内核移植
12.2.4构建根文件系统
12.3嵌入式Linux的BOA服务器移植
12.3.1 BOA服务器
12.3.2 CGIC库的移植
12.3.3 HTML模板的制作
12.3.4 CGI程序的开发
第13章 嵌入式VNC远程控制的实现
13.1远程控制及VNC
13.2需求分析
13.2.1软件需求分析
13.2.2硬件需求分析
13.3嵌入式Linux系统移植
13.3.1交叉开发环境的构建
13.3.2 Bootloader的移植
13.3.3 Linux内核的移植
13.3.4 Linux根文件系统的构建
13.4 Tiny-X及应用程序移植
13.4.1 Linux X图形系统和嵌入式X
13.4.2配置编译Tiny-X
13.4.3编译Matchbox
13.4.4编译VNC Viewer
13.4.5编译Xterm
13.5 RFB协议简析及文件系统的裁剪
13.5.1 RFB协议简析
13.5.2文件系统的裁剪
第 14章ARM Linux指纹门禁系统
14.1指纹识别技术概述
14.2指纹识别系统的原理
14.3系统硬件结构
14.4指纹采集芯片fps200
14.5 Linux操作系统移植
14.5.1 BootLoader移植
14.5.2 Linux内核移植到S3C2410
14.5.3加载指纹芯片驱动程序
14.5.4加载文件系统
14.6系统软件设计
14.6.1系统的初始化
14.6.2指纹采集与处理
14.6.3指纹识别算法的实现
第15章 基于ARM Linux的家庭安全监控系统设计
15.1系统的功能和组成
15.1.1 S3C2410简介
15.1.2无线红外探头RD-HW14G
15.1.3系统模块功能描述
15.2软件平台与开发工具
15.2.1 Linux系统
15.2.2 Shell脚本
15.2.3 GCC编译器
15.2.4 Make项目管理器
15.2.5 Socket编程接口
15.3基于嵌入式平台的网络服务器
15.3.1嵌入式Web服务器
15.3.2嵌入式视频服务器
15.3.3嵌入式SSH服务器
15.4视频监控系统的实现
15.4.1基于Java的浏览器实现
15.4.2 Windows平台下客户端的分析和实现
15.5红外监控模块的设计
参考文献