内容简介
本书是获得了大量读者好评的“Linux典藏大系”中的《ARM嵌入式Linux系统开发详解》的第2版。本书由浅入深,全面、系统地介绍了基于ARM体系结构的嵌入式Linux系统开发所涉及的方方面面技术,并提供了大量实例供读者实战演练。另外,本书提供了9小时多媒体教学视频及书中涉及的实例源程序,便于读者、直观地学习。
本书共分4篇。第1篇介绍了嵌入式系统入门、嵌入式软硬件系统、ARM处理器、嵌入式Linux、软件开发环境建立和第一个Linux应用程序;第2篇介绍了Linux应用程序编程基础、开发多进程/线程程序、网络通信应用、串行口通信编程、嵌入式GUI程序开发和软件项目管理;第3篇介绍ARM体系结构及开发实例、深入Bootloader、解析Linux内核、嵌入式Linux启动流程、Linux文件系统、建立交叉编译工具链、命令系统BusyBox、Linux内核移植,以及内核和应用程序调试技术;第4篇结合5个案例介绍了Linux设备驱动、网络设备驱动、Flash设备驱动和USB驱动的开发过程,以此提高读者的实战水平。
本书适合广大从事嵌入式Linux系统开发的人员、对嵌入式Linux系统开发有兴趣的爱好者及大中专院校相关专业的学生阅读。相关培训院校及高校的老师亦可将本书作为教材使用。
目录
第1篇 Linux嵌入式开发基础篇
第1章 嵌入式系统入门
1.1 什么是嵌入式系统
1.2 嵌入式系统应用领域
1.2.1 家用电器和电子类产品
1.2.2 交通工具
1.2.3 公共电子设施
1.3 嵌入式系统发展
1.3.1 嵌入式微控制器
1.3.2 嵌入式微处理器
1.3.3 未来嵌入式系统发展的方向
1.4 典型的嵌入式系统组成
1.5 小结
第2章 嵌入式软硬件系统
2.1 电路基本知识
2.1.1 什么是模拟电路
2.1.2 什么是数字电路
2.1.3 数制转换
2.2 计算机组成原理
2.2.1 计算机体系的发展
2.2.2 中央处理器
2.2.3 存储系统
2.2.4 总线系统
2.2.5 输入输出系统
2.3 软件基础知识
2.3.1 什么是软件
2.3.2 软件开发流程
2.3.3 常见的软件开发模型
2.3.4 计算机编程语言
2.3.5 数据结构
2.4 操作系统知识
2.4.1 什么是操作系统
2.4.2 操作系统的发展历史
2.4.3 操作系统由什么组成
2.4.4 几种操作系统的设计思路
2.4.5 操作系统分类
2.5 小结
第3章 ARM处理器
3.1 微处理器和微控制器
3.2 ARM处理器介绍
3.2.1 ARM微处理器的应用领域
3.2.2 ARM的功能特点
3.3 ARM指令集
3.3.1 算术运算指令
3.3.2 逻辑运算指令
3.3.3 分支指令
3.3.4 数据传送指令
3.4 ARM的结构
3.4.1 ARM体系结构的命名方法
3.4.2 处理器系列划分
3.4.3 处理器工作模式
3.4.4 存储系统
3.4.5 寻址方式
3.5 ARM的功能选型
3.5.1 ARM的选型原则
3.5.2 几种常见的ARM核处理器选型参考
3.6 小结
第4章 嵌入式Linux
4.1 常见的嵌入式操作系统
4.1.1 VxWorks
4.1.2 Windows CE
4.1.3 PalmOS
4.1.4 Symbian
4.2 嵌入式Linux操作系统
4.2.1 什么是Linux
4.2.2 Linux与UNIX的不同——GPL版权协议介绍
4.2.3 Linux发行版
4.2.4 常见的嵌入式Linux系统
4.3 小结
第5章 建立软件开发环境
5.1 独立的Linux系统
5.1.1 安装Ubuntu Linux
5.1.2 怎样安装、卸载软件
5.1.3 怎样配置系统服务
5.1.4 安装主要的开发工具
5.1.5 安装其他的开发工具和文档
5.2 运行在Windows上的Linux系统
5.2.1 什么是Cygwin
5.2.2 如何安装Cygwin
5.2.3 安装开发环境
5.3 Linux常用工具
5.3.1 Linux shell和常用命令
5.3.2 文本编辑工具vi
5.3.3 搜索工具find和grep
5.3.4 FTP工具
5.3.5 串口工具minicom