内容简介
本书结合作者10多年的培训和实践经验,通过简明扼要的语言,以及实用的案例与方法,对嵌入式Linux应用开发中的关键技术点进行了深入浅出的讲解。全书分为基础篇、应用进阶篇和实战提高篇。
本书内容从单的案例开始,始终保持实用、易懂的风格,每个章节都设置了实践操作案例,能够帮助读者快速掌握嵌入式Linux应用软件的开发技能。
本书主要面向对嵌入式Linux应用软件开发感兴趣的初学者,或需要进一步提升技能的开发者,也可作为高等院校计算机类、电子电气类、控制类专业学生学习嵌入式Linux应用开发的教材。
目录
第1章 体验嵌入式系统的魅力
1.1 嵌入式系统的定义
1.2 嵌入式系统的历史与现状
1.2.1 无操作系统阶段
1.2.2 简单操作系统阶段
1.2.3 实时操作系统阶段
1.2.4 面向Internet阶段
1.3 嵌入式与非嵌入式的区别
1.4 从事嵌入式软件开发的前景
1.4.1 优势
1.4.2 从事嵌入式软件开发的缺点
1.4.3 技术基本要求
1.5 嵌入式系统的体系结构
1.5.1 嵌入式处理器
1.5.2 嵌入式外围设备
1.5.3 嵌入式操作系统
1.5.4 嵌入式应用软件
1
1.7 延伸阅读:嵌入式系统面临的关键问题
1.8 小结
第2章 嵌入式Linux的前世今生
2.1 嵌入式Linux简介
2.1.1 嵌入式Linux的优势
2.1.2 嵌入式Linux面临的挑战
2.1.3 发展前景
2.1.4 A
2.2 嵌入式Linux系统的软件组成
2.2.1 引导加载程序
2.2.2 Linux内核
2.2.3 文件系统
2.2.4 用户应用程序
2.3 嵌入式系统软件研发的关键技术
2.3.1 开发流程
2.3.2 交叉编译和链接
2.3.3 交叉调试
2.3.4 系统测试
2.4 系统启动过程
2.5 延伸阅读:开源、GPL与POSIX简介
2.5.1 开源
2.5.
2.5.3
2.6 小结
第3章 零基础安装虚拟机与Linux操作系统
3.1 VMware Workstation的安装
3.2 配置VMware Workstation并便捷安装Fedo
3.3 配置VMware Workstation手动安装Fedo
3.4 安装Fedo
3.5 VMware Tools的安装
3.6 使用已安装好操作系统的虚拟机
3.7 延伸阅读:打开Fedora 16的root账号
3.8 小结
第4章 快速构建嵌入式Linux开发环境
4.1 安装交叉编译器
4.1.1 安装交叉编译器
4.1.2 建立链接
4.1.3 查看交叉工具是否安装正确
4.2 构建开发板运行所需的环境
4.2.1 编译一级启动文件x-
4.2.2 编译二级启动文件
4.2.3 编译内核
4.2.4 制作文件系统镜像
4.3 更新系统文件
4.3.1 更新文件从SD卡启动
4.3.2 更新文件从NAND Flash启动
4.4 小结
第5章 配置串口通信工具
5.1 配置Windows XP的终端
5.2 串口信息的捕获
5.3 在Linux中配置M
5.4 小结
第6章 配置NFS文件系统服务
6.1 查看宿主机上的安装包
6.2 配置网络文件系统
6.3 启动NFS服务
6.3.1 在Fedora 16下面运行service nfs start命令失败
6.3.2 在Fedora 16下面运行service nfs-server start失败
6.4 本机测试
6.5 在开发板上测试
6.5.1 常见的测试过程
6.5.2 NFS无法挂载的问题分析
6.6 小结
第7章 开始编写第一个程序
7.1 在宿主机上编写第一个程序
7.2 编写开发板上的上第一个程序
7.3 小结
第8章 Linux开发入门必备私房菜
8.1 程序安装目录
8.2 头文件
8.3 库文件
8.4 gcc简介
8.5 make简介
8.6 小结
第9章 Shell:用户与Linux沟通的桥梁
9.1 Shell是如何工作的
9.2 Shell的“兄弟姐妹”
9.3 必须熟悉的Shell命令
9.3.1 命令行
9.3.2 选项和参数
9.3.3 命令行特征
9.4 理解Shell中的特殊字符
9.4.1 通配符
9.4.2 引号
9.4.3 注释符
9.5 畅通交流:标准输入/输出和重定向
9.
摘要与插图
2.1嵌入式Linux简介就像一个绩优股一样,Linux之所以能在嵌入式系统上取得如此辉煌的成果,与其自身的优良特性是分不开的。嵌入式Linux的特点是版权免费,有全世界的自由软件开发者提供技术支持,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,有许多公开的代码可以参考和移植,使得应用产品开发周期短,新产品上市迅速。
2.1.1嵌入式Linux的优势
嵌入式Linux既继承了Linux的优良特性,又具有嵌入式操作系统的特性,下面简要描述嵌入式Linux的主要特性。
1.开放源码,软件丰富
Linux是开放源代码的自由操作系统,不存在黑箱技术,它为用户提供了限度的自由度,由于嵌入式系统千差万别,往往需要针对具体的应用进行修改和优化,因而获得源代码就变得至关重要了。Linux的软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件为原型,在其上进行二次开发。Linux是免费的操作系统,在价格上竞争力,对商业产品来说尤具优势。
2.跨平台,广泛的硬件支持
Linux适应于多种CPU和多种硬件平台,能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,是一个跨平台的系统。Linux目前已经成功移植到多种硬件平台,几乎能够运行在所有流行的CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和硬件技术,甚至可以在没有存储管理单元(MMU)的处理器上运行,这些都进一步促进了Linux在嵌入式系统中的应用。
3.内核稳定
Linux内核的和稳定已经在各个领域内得到了大量事实的验证,Linux的内核设计精巧,分为进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分,其的模块机制可以根据用户的需要,实时地将某些模块插入到内核或从内核中移走。这些特性使得Linux系统内核可以裁剪得小巧,很适合于嵌入式系统的需要。
……