前言

前言

随着各种芯片技术的发展,各种嵌入式产品也如雨后春笋一般地出现了。目前,嵌入式产品应用领域涉及移动通信、汽车、医疗、家电等很多领域。而且,如今的嵌入式硬件的速度和容量越来越接近于PC,因此在这些嵌入式产品上运行操作系统就成为了可能。一直以来,很多企业花费了巨大成本研发了大量运行在PC上的软件产品。如果将这些优秀的软件应用在嵌入式系统中,将会成为快速开发嵌入式系统,降低嵌入式产品开发成本,提高软件稳定性和安全性的重要途径。

目前,国内图书市场上专门介绍Linux系统移植的图书只有笔者2011年初出版的《Linux系统移植》一书。该书也是获得了大量读者好评的“Linux典藏大系”中的一个分册,出版后填补了该领域的空白。随着时间的推移和技术的发展,这本书已经逐渐不能适应读者的需求,因此笔者对这本书进行了升级和改版,便有了这本书的第2版。

本书在第1版的基础上进行了全新改版,升级了操作系统版本和Linux内核版本,并将编程环境和各种开发工具升级到了当前最新版本,也对第1版书中的一些疏漏进行了修订,对书中的一些实例和代码进行了重新表述,使得本书更加易读。相信升级后的图书易读性更强。

本书是笔者从事嵌入式开发的经验总结,希望能给目前从事嵌入式研发和学习的读者提供最有效的帮助,能使读者的嵌入式系统最快地运行起来,使读者在最短的时间内成功移植开源软件。

本书使用的源代码均为开源代码,读者可以从对应的官方网站获得。本书对于源码的重要部分进行了详细的分析,建议读者在阅读时对应源码进行阅读效果会更好。

关于“Linux典藏大系”

“Linux典藏大系”是清华大学出版社自2010年1月以来陆续推出的一个图书系列,截止2012年,已经出版了10余个品种。该系列图书涵盖了Linux技术的方方面面,可以满足各个层次和各个领域的读者学习Linux技术的需求。该系列图书自出版以来获得了广大读者的好评,已经成为了Linux图书市场上最耀眼的明星品牌之一。其销量在同类图书中也名列前茅,其中一些图书还获得了“51CTO读书频道”颁发的“最受读者喜爱的原创IT技术图书奖”。该系列图书在出版过程中也得到了国内Linux领域最知名的技术社区ChinaUnix(简称CU)的大力支持和帮助,读者在CU社区中就图书的内容与活跃在CU社区中的Linux技术爱好者进行广泛交流,取得了良好的学习效果。

关于本书第2版

本书第1版出版后深受读者好评,并被ChinaUNIX技术社区所推荐。但是随着技术的发展,本书第1版内容已经无法满足读者的学习需求。应广大读者的要求,我们结合Linux系统移植的最新技术推出了本书的第2版。相比第1版,第2版图书在内容上的变化主要体现在以下几个方面:

1. 操作系统版本由Fedora 6升级为Fedora 19。

2. 系统移植内核版本统一升级为2.6.32。

3. 编译工具GCC版本升级到4.4.3。

4. MiniGUI、Qt、Berkeley DB、SQLite、Linphone等均升级为最新版本。

5. 将一些表达不准确的地方表述得更加准确。

本书特色

1. 内容全面、选材具有特点

本书介绍了最小系统的引导程序移植、内核移植、文件系统移植、各种驱动移植等内容。另外,本书还专门介绍了嵌入式数据库、嵌入式GUI、嵌入式Web服务器、嵌入式JVM、VoIP技术等内容。对于数据库、GUI、Web服务器分别选择了两种进行介绍,读者可以从性能上进行对比,然后应用在自己的项目中。

2. 内容由浅入深、循序渐进,可操作性强

本书按照由浅入深、循序渐进的梯度安排内容,适合各个层次的读者阅读。书中每章内容都遵循原理分析?代码、分析?编译?测试?移植的学习顺序,具有较强的可操作性。

3. 编译过程详细

本书的编译过程都附有详细的编译命令,对于复杂的命令均给出了说明,方便读者实际操作。读者可以边阅读本书,边动手进行实验。

4. 贯穿了大量的编译技巧,可迅速提升移植水平

本书在讲解编译过程时贯穿了大量的编译技巧,并针对移植过程中的编译错误介绍了如何发现错误的源头,同时给出了解决方法。这有利于读者解决类似的编译问题,提升系统移植的水平。

5. 提供多媒体教学视频和源文件

本书赠送17.5小时多媒体教学视频和实例源文件,便于读者高效、直观地学习。这些学习资料需要读者按照封底的提示自行下载。

本书内容概述

本书注重实践,包含了丰富的移植实例,这些实例各具特点,从基础的系统组成到设备驱动,再到高级应用,适合各个层面的读者学习和研究。本书中的实例是笔者根据实际项目中嵌入式产品的功能需求,专门选择的具有代表性的开源软件进行移植,包含了常见的嵌入式产品的最小系统组成部分移植,同时选择了应用比较多的数据库、Web服务器、GUI等进行移植。笔者通过亲自体会,在每次编译和移植过程中详细说明移植的细节,对移植过程中遇到的问题也给出了解决方法。本书最后还介绍了VoIP技术,并结合源码分析了VoIP的实现,同时还介绍了VoIP的详细编译过程。本书共20章,分为4篇。简单介绍如下。

第 1 篇 系统移植基础篇(第1~2章)

本篇介绍了系统移植的基础。首先对Linux内核进行了简单介绍,然后介绍了系统移植环境的搭建。通过对本篇内容的学习,读者可以对Linux系统有初步认识,能掌握嵌入式Linux开发工具的使用,能正确搭建开发平台,能够制作编译好的嵌入式系统。

第 2 篇 系统移植技术篇(第3~5章)

本篇介绍了一个最基本的嵌入式系统的组成部分、Bootloader、内核和文件系统的移植。学习完本篇内容后,读者能够动手独立编译和移植一个基本的嵌入式系统。

第 3 篇 系统移植驱动篇(第6~12章)

本篇介绍了各种驱动的移植,包括LCD、触摸屏、USB、网卡、音频、SD卡、NandFlash等流行的设备驱动的移植过程。通过对本篇内容的学习,读者对嵌入式Linux驱动移植将会有一定的认识,可以基本掌握驱动的移植步骤,能完成简单的驱动移植。

第 4 篇 系统移植高级篇(第13~20章)

本篇从嵌入式产品的角度出发,介绍了系统移植中各种类型的高层软件移植,包括GUI、数据库、Web服务器、虚拟机的移植,最后还介绍了目前流行的VoIP技术,并结合源码介绍了VoIP相关协议和编译方法。通过学习本篇内容,读者可以掌握很多移植技巧,能够将这些实例应用到自己的项目中。

本书读者对象

  • 嵌入式移植人员;

  • 嵌入式专业的学生;

  • 嵌入式实验指导老师;

  • 嵌入式培训学员和老师;

  • 系统分析师;

  • 项目研发人员。

本书作者

本书由刘刚和赵剑川主笔编写,其他参与编写的人员有崔久、韩峰、胡国庆、刘智慧、张照、梁洋洋、陈超、陈嵩、崔金英、樊丽、高宏静、高塬竣、郭金尚、郭维松、胡春杰、黄克、冀小幸、贾占领、阚言芳、兰海珍、李高畅、李海慧。

阅读本书时有任何疑问,都可通过以下方式联系我们,我们会及时答复。

E-mail:book@wanjuanchina.net(技术服务)

    bookservice2008@163.com(编辑)

论坛网址:http://www.wanjuanchina.net

QQ群:336212690

编者

目录

  • 前言
  • 第 1 篇 系统移植基础篇
  • 第 1 章 Linux内核介绍
  • 第 2 章 嵌入式Linux开发环境搭建
  • 第 2 篇 系统移植技术篇
  • 第 3 章 Bootloader移植
  • 第 4 章 Linux内核裁剪与移植
  • 第 5 章 嵌入式文件系统制作
  • 第 3 篇 系统移植与驱动篇
  • 第 6 章 LCD驱动移植
  • 第 7 章 触摸屏驱动移植
  • 第 8 章 USB设备驱动移植
  • 第 9 章 网卡驱动程序移植
  • 第 10 章 音频设备驱动程序移植
  • 第 11 章 SD卡驱动移植
  • 第 12 章 NandFlash驱动移植
  • 第 4 篇 系统移植高级篇
  • 第 13 章 MiniGUI与移植
  • 第 14 章 Qt开发与Qtopia移植
  • 第 15 章 嵌入式数据库Berkeley DB移植
  • 第 16 章 嵌入式数据库SQLite移植
  • 第 17 章 嵌入式Web服务器BOA移植
  • 第 18 章 嵌入式Web服务器Thttpd移植
  • 第 19 章 JVM及其移植
  • 第 20 章 VoIP技术与Linphone编译