嵌入式系统开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

本书是讲解嵌入式系统开发的一本著作,完整地讨论了嵌入式开发必备的软、硬件基础知识,并且重点讲解了嵌入式开发的两个主要应用:驱动程序开发和嵌入式GUI程序开发。由于嵌入式系统开发有别于“一台PC就可以搞定”的纯软件开发,因此需要开发者有良好的软件开发技能,如:C/C++、汇编语言、操作系统等,同时还需要具备一定的硬件方面的知识,如:数字电路、计算机组成原理、接口电路等。而往往进入嵌入式开发领域的开发者要么以前是做软件开发的,对电路图、硬件驱动的原理等知识知之甚少,要么以前是一名硬件工程师,不太了解软件开发方面的基本要领,这些原因导致目前合格的嵌入式开发人员比较少。虽然已有不少关于嵌入式开发方面的优秀著作,但要么是针对水平较高的开发者编写,要么就是对嵌入式开发的某一个方面做深入的分析。这对刚涉及嵌入式开发的读者来说,会总觉得自己欠缺点什么,无法透彻理解其中的知识。

本书为了解决这个问题,特地提供给希望涉足嵌入式开发的朋友们以必要的、系统的知识,这也是本书的一个特色。在本书的第1部分中,比较详细地讨论了软件方面和硬件方面的必需了解和掌握的基本内容。第1章讨论嵌入式开发的最基本最重要的开发语言——C语言的基本技能,特别是在嵌入式环境下的一些使用方法。第2章讨论嵌入式开发的硬件基础,包括对必要的数字电路方面知识的介绍及以ARM为核心的S3C2410/S3C2440处理器的介绍。阅读完本章后,读者首先应该能够分析一个电路的基本作用,并且能够对以ARM为核心的系列处理器有个比较深刻的认识。对于只有一定程序设计经历的读者,建议深入阅读整个第1部分;对硬件方面已经比较熟悉的读者则可以只阅读第1章。本书的第2部分讨论如何构建一个比较简单的嵌入式软件,并以实时嵌入式操作系统μC/OSII为背景,首先分析其基本原理,然后结合具体的实例讨论其移植和相关应用。第3部分讨论比较复杂的嵌入式Linux系统,第7章着重讨论做嵌入式Linux的基础知识,包括重要的命令、开发环境的建立、交叉编译工具的建立与使用等。第8章在具备第1部分的软硬件基础的情况下讲解Linux驱动编写的基本方法,并且以几个典型的示例从基本的实现分析到驱动编写完整的向读者展示嵌入式Linux的驱动软件开发的基本流程及实现方法。第9章讨论采用Qt为嵌入式GUI的嵌入式软件开发,由于Qt的开发涉及的内容很广不可能全面去叙述,所以本书先讨论Qt程序设计的基本方法,然后重点讨论了Qt实现的一些核心机制,这些机制的学习对于深入理解Qt开发是很有必要的。由于通信和网络领域为嵌入式系统应用最广泛和成熟的领域之一,所以本书在第8章详细地分析了Linux平台下的部分重要的协议及网络控制机制,如TCP、UDP、IP、QoS、Congestion Control等,这也算本书的另一个特色。

总的说来,本书有几个特点:一是“有浅有深”,既有为进一步深入实践必须具备的基础知识,也有对一些相对比较深入话题的探讨。二是“新”,本书讨论的技术都是目前该领域最新的内容。三是“全”,本书在给出基础知识以后,就话题展开,在第3部分讨论了嵌入式开发的诸多方面,包括:驱动开发、嵌入式GUI程序设计、嵌入式系统的网络协议等,其目的是适应更多读者的需要,并且能给读者一些提示。

读者朋友如有任何疑问和建议,可以到如下网站的本书讨论区同笔者一起探讨:

http://www.pubeta.com。

编著者

2009年3月