本书介绍典型嵌入式系统的硬件组成、嵌入式操作系统、嵌入式软件开发环境的基本知识和应用等。读者通过学习本书,并借助典型的嵌入式系统实验平台,可掌握包括微处理器、存储器、扩展外围设备等在内的嵌入式系统创建过程,熟悉嵌人式Linux的内部机理、内核裁减移植、交叉编译、链接调试以及一些常用设备的驱动程序和应用程序的编写技巧,掌握实现一个具体嵌入式系统整体解决方案的方法与步骤。
本书可作为理工科大学信息类专业研究生和高年级大学生实验研究型课程的教学参考书,也可供计算机、通信等行业的工程技术人员参考。
第1章 嵌入式系统的硬件构成
1.1 嵌入式系统硬件
1.1.1 嵌人式处理器
1.1.2 存储器
1.1.3 输入输出设备
1.1.4 电源转换与管理
1.2 嵌入式系统硬件开发的相关技术
1.2.1 接口技术
1.2.2 总线
1.2.3 嵌入式系统开发中的硬件调试和编程技术
1.2.4 3.3 V和5 V器件的互联
1.3 嵌入式系统开发示例--VZ328开发板
1.3.1 系统性能
1.3.2 系统硬件设计
1.3.3 设计印厉Ij电路板的注意事项
1.3.4 VZ开发板的硬件调试
思考题
第2章 操作系统
2.1 基础知识
2.1.1 操作系统功能
2.1.2 操作系统发展史
2.1.3 Linux与嵌入式Linux
2.2 Linux内核
2.2.1 Linux的内存管理机制
2.2.2 Linux的进程与中断管理
2.2.3 Linux的调度机制
2. 2.4 Linux的文件系统管理
2. 3 Linux的用户界面
2.3.1 图形用户界面
2.3.2 智能化用户界面
思考题
第3章 嵌入式Linux
3.1 嵌入式Linux内核
3.1.1 嵌入式Linux综述
3.1.2 ttCLinux,
3.2 嵌入式设备的文件系统
3.2.1 闪存介绍
3.2.2 第二版扩展文件系统ext2fs
3.2.3 1临时文件系统tmpfs
3.2.4 日志闪存文件系统版本2-JFFS2
3.3 嵌入式用户界面
3.3.1 GUI开发工具综述
3.3.2 MicroWindows剖析
思考题
第4章 嵌入式Linux的软件开发环境
4.1 基础知识
4.1.1 编译原理
4.1.2 交叉编译
4.2 交叉编译环境
4.2.1 编译开发环境的建立
4.2.2 可执行文件
4.3 调试技术
4.3.1 常见调试方法
4.3.2 内存调试
4.3.3 系统调用跟踪
4.3.4 程序调试
4.4 系统引导和内核启动
4.4.1 Bootloader程序的设计与实现
4.4.2 UCLinux移植
思考题
第5章 设备驱动程序
5.1 概述
5.1.1 设备类型
5.1.2 设备号
5.1.3 模块化编程
5.2 设备文件接口
5.2.1 用户访问接口
5.2.2 文件操作
5.2.3 I/O操作
5.3 中断处理
5.3.1 中断处理程序的安装
5.3.2 中断处理程序的实现
5.4 应用实例
5.4.1 字符型设备
5.4.2 网络设备
5.4.3 块设备--闪存驱动
思考题
第6章 嵌入式Linux应用实例
6.1 掌上电子书
6.1.1 方案设计
6.1.2 功能实现
6.2 嵌入式浏览器
6.2.1 方案设计
6.2.2 功能实现
6.3 基于嵌入式网关的无线数据采集传输系统
6.3.1 数据采集模块
6.3.2 MODBUS协议与PPP协议
6.3.3 嵌入式网关
6.3.4 GPRS模块
6.3.5 控制中心服务器
综合大作业选题
术语及解释
参考网站
参考文献
近些年来,以计算机技术、通信技术为先导的信息技术的快速发展和Internet的广泛应用,促进了控制学科及许多工程学科的变革,出现了许多学科生长点。与此同时,在微处理器、微传感器和微型执行元件不断有新产品推出的形势下,有关控制的思路与方法正发生着巨大的变化。随之而来的问题是我们应如何拓宽和更新教学内容以致教学手段,才能适应新形势下的要求?
近些年我们在嵌入式系统及其应用的科研中发现,随着信息产业和微电子技术的发展,嵌入式系统的功能日渐强大,应用愈加广泛。除了在IT业外,嵌入式系统在工业自动化、智能仪表、航空航天、军事工业以至人们的日常生活中的应用也日益增多。嵌入式系统涉及的学科领域很宽,它集计算机、微电子、自动化、网络等多种技术于一体。嵌入式系统的硬件与软件是紧密联系在一起的,涉及系统最底层的、芯片级的信息处理与控制。因此,要掌握嵌入式系统,必须同时具备硬件与软件方面的知识与技能,而对这些知识技能的传授与培训在以往自动化学科的教学中比较少。
在经过一番实践摸索之后,我们尝试开设了一门研究生课程“嵌入式系统软硬件综合设计”。课程定位为实验研究型,对象为信息类及相关学科的硕士研究生。课程包括讲课,基础型实验和研究型实验。通过典型嵌入式系统的实验平台学习嵌入式操作系统的内部机理、内核裁减移植、交叉编译、链接调试等技术,学习一些常用设备的驱动程序和应用程序的编写技巧。利用实验平台训练学生设计硬件电路以及软硬件的综合能力。通过该课程的学习与实践,学生们基本掌握了包括微处理器、存储器、扩展外围设备等在内的嵌入式系统的创建过程,学会了嵌入式操作系统Linux,并能在硬件环境下应用,部分地实现一个具体嵌入式系统的解决方案。本书就是在这两年教学试用讲义的基础上,经反复修改加工而成的。希望这本书能为有兴趣学习嵌入式系统与应用的学生和工程技术人员提供一些入门知识,为他们以后进一步的学习奠定基础。
本书在编写过程中注重反映信息技术的最新发展,内容力求体现时代特征,以使读者从本书及所给的参考书、参考网站中获取最新知识,跟踪最新动态。在使用本书时,建议教师把自己的科研成果引入到教学中,以增强教学的活力。在学习过程中最好结合实际的应用平台,从软硬件综合的角度去理解所学知识,并进行实践。
本书由慕春棣统筹策划和组织编写,并负责审校。参加编写工作的全部是博士和硕士研究生。其中第1章由刘森执笔,第2章由杨占敏执笔,第3章由钟忻执笔,第4章由李强执笔,第5章由杜威执笔,第6章由陈清阳执笔。沈卓立、郭东航、桂伟力、陈建平、顾凌华、冯浩然等同学的许多工作成果被吸收到本书中,在此向他们表示诚挚的谢意。另外,本书中引用的许多资料选自网上,没能逐个与有关作者取得联系,在此向他们表示感谢与歉意。
由于作者水平有限,许多问题还在摸索之中,书中难免有错误和不确切之处,恳请读者批评指正。
慕春棣
2004年4月于清华园