前言
在数字信息技术和网络技术高速发展及物联网兴起的时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、商业文化艺术、娱乐业,以及人们的日常生活中的方方面面。随着物联网及国内外嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活密切相关。在当今的信息时代,可能有人从来没有接触过计算机;但是在后PC时代,就不可能接触不到嵌入式系统,因为嵌入式系统无处不在,从家里的平板电视、手机、洗衣机、电冰箱、微波炉,到作为交通工具的自行车、汽车及办公室里的远程会议系统等,都属于可以使用嵌入式技术开发的产品。所以,嵌入式系统是继因特网络技术以后,又一个新的技术发展方向,它对社会的各个领域产生了越来越深远的影响。
嵌入式系统的发展过程大体经历了四个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段和面向因特网阶段。在嵌入式产品的不同发展阶段,对嵌入式操作系统功能上的要求也逐渐由简单向复杂过渡。同时,因为新的微处理层出不穷,嵌入式操作系统自身结构的设计必须更加便于移植,要求在短时间内支持更多的微处理器。尤其,随着网络化、信息化和智能化的发展,随着因特网技术的成熟和带宽的提高,网络互联成为必然趋势,以往功能单一的设备如平板电视、手机等功能不再单一,给嵌入式操作系统提出了更高的要求。比如,对于面向因特网的嵌入式操作系统,不但要求其嵌入式操作系统具备文件、设备及多任务管理、网络连接和图形用户界面(GUI)等功能,而且要求尽量提供较多的API(应用程序接口)接口,以易于应用软件的二次开发。
比较流行的嵌入式系统有Windows CE、VxWorks、Palm OS、uC/OS II和嵌入式Linux操作系统等,这些嵌入式操作系统在开放性、实用性及性能等方面各有千秋。其中,由于嵌入式Linux操作系统遵循GNU的GPL条款,具有源代码开放、代码漂亮、工作稳定、内核结构清晰、移植方便、系统内核小、执行效率高、网络功能强大等特点,而成为嵌入式市场的有力竞争者。
由于嵌入式系统的研究和开发是一个理论性、实践性都非常强的工作,因此在开发嵌入式系统的时候,对研究开发人员的要求非常高。不但要求研究开发人员熟悉嵌入式CPU的结构和编程,更多地要求掌握嵌入式系统研究开发的各个环节,如:BootLoader、Kernel、Driver和文件系统等,同时还必须具备所属各行业的相关知识和丰富的实践经验。本书总结了编者多年在教学和科研上的经验和资料,力求从基本概念、基本原理、基本方法和基本应用出发,使读者能扎实地掌握嵌入式系统开发的方法和技能。
全书分为12章:第1章介绍嵌入式系统的基础知识;第2章为Linux操作系统入门基础;第3章介绍Linux系统环境下的程序设计基础;第4章学习Linux外壳的编程方法;第5章介绍如何构建嵌入式Linux开发平台;第6章对ARM调试工具、编译环境进行介绍;第7章对嵌入式BootLoader技术进行了详细的分析;第8章详细讲述Linux内核配置方法;第9章以嵌入式操作系统ARM-Linux为例,对其内核进行了详细剖析,其原理也适用其他架构的处理器;第10章对嵌入式文件系统进行了综合描述和具体分析;第11章就构建嵌入式Web服务器使用的相关技术进行了详细的分析介绍;最后,在第12章中详细介绍嵌入式图形用户界面(GUI)的原理和设计方法。
本书参考的许多内容取材于国内外最新的教材和技术资料,详见参考文献,读者可以根据需求选读。本书所选参考材料有的无法事先与原作者协商而加以采用,在此,谨向多位原作者表达诚挚的敬意和真诚的感谢。同时,本书的部分资料来自网上,无法一一列举,在此一并感谢。
本书由金伟正主编,另外参与本书编著的还有杨光义、汤红文、周文、张巍、余涛、宋志强、吴铁洲、王振华、周金和等,同时由全体作者共同完成了书稿的校对和修改,在此感谢大家的辛勤劳动。
由于时间仓促,编著者的水平有限,书中难免存在不妥之处,恳请读者批评指正,您们提出的问题和建议是编著者前进的动力。
编著者