前 言
嵌入式Linux系统由于具有开源、网络功能强大、内核稳定、高效等特性,在产品开发周期、产品的功能可扩充性、开发时的人力投入等方面都具有显著的优势,因此广泛应用于高、中、低端智能电子设备中。而它与ARM的结合,更是一种主流的解决方案。嵌入式Linux+ARM已经广泛应用于机顶盒、智能手机、平板电脑、MPC(多媒体个人计算机)、网络设备、工业控制等领域,并且具有良好的市场前景。
嵌入式系统是以应用为中心,以计算机技术为基础,采用可裁剪软硬件,适用于对功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统。
在新兴的嵌入式系统产品中,常见的有MP3、智能手机、平板电脑、数字播放器、GPS、机顶盒、嵌入式服务器、家庭游戏网关、VoIP、PDA、数字视讯录像机及瘦客户机等。嵌入式系统是未来生活的一个基础平台,将会大大影响人们的生活方式。
本书将系统地讲解嵌入式Linux开发流程中的各个步骤,详细解析各个流程中的疑点、难点。本书分3个部分,共12章。各部分内容如下:
第一部分为基础知识篇,主要讲解嵌入式系统与Linux相关的基础知识,其中第1章为嵌入式系统基础,主要讲解嵌入式相关的概念、历史、应用及前景;第2章为Linux概论,主要是与Linux基础相关的知识,如Linux桌面系统、Linux常用软件的使用及Linux常见命令等;第3章为ARM体系架构,主要介绍ARM架构的相关知识,如ARM指令集、ARM处理器基本原理等;第4章为嵌入式编程,将简要介绍嵌入式汇编语言及C语言的编程基础。
第二部分为开发入门篇,主要介绍嵌入式开发的基本方法,这部分是本书的重点,也是嵌入式Linux学习的难点,读者要认真学习。这部分共5章,其中第5章介绍了嵌入式开发的软硬件环境,如工具的驱动程序安装、Ubuntu的安装、DNW的使用、NFS的配置和使用,以及Telnet、ftp等的配置使用;第6章主要讲解交叉编译环境的概念以及工具链的编译、获取;第7章介绍了Bootloader及典型引导程序的制作,如Vivi;第8章讲解内核的定制;第9章介绍了嵌入式Linux文件系统,这部分内容较多,希望读者重点掌握。
第三部分是提高篇,主要包括第10章驱动程序的开发;第11章嵌入式Linux的图形设计;第12章将给出一个开发实例,使读者能系统地了解嵌入式Linux的开发过程。
本课程总学时为54学时,各章学时分配见下表(供参考):
学时分配建议表
课 程 内 容 学 时 数
合 计 讲 授 实 验 机 动
第1章 嵌入式系统基础 1 1
第2章 Linux基础 3 2 1
第3章 ARM体系架构 2 2
第4章 嵌入式编程 4 3 1
第5章 软硬件开发环境 4 3 1
第6章 交叉编译工具 3 2 1
第7章 Bootloader详解及移植 5 3 2
第8章 定制内核移植 3 2 1
第9章 嵌入式Linux文件系统 7 4 3
第10章 嵌入式Linux驱动程序开发基础 9 6 3
第11章 嵌入式Linux图形设计 8 5 3
第12章 嵌入式视频监视系统开发实例 6 4 2
合 计 54 37 18
本书内容丰富,实例典型,有很强的针对性。书中各章不仅详细介绍了实例的具体操作步骤,而且还配有一定数量的练习题供读者学习使用。读者只需按照书中介绍的步骤一步步地实际操作,就能完全掌握本书的内容。
尽管本书只讨论如何在嵌入式系统中使用Linux,但是对想要在嵌入式系统中使用BSD(伯克利软件发行中心)的开发者来说也会有一些帮助,但本书所作的许多说明都必须依据BSD与Linux间的差异重新诠释。
本书可作为高等学校计算机、通信、电子等专业嵌入式设计课程的教材,也可供嵌入式开发技术人员参考。
本书PPT教学课件可以通过http://www.tupwk.com.cn/downpage下载。
本书由贺丹丹编著,此外,马建红、许小荣、张泽、刘荣、张璐、王统、王东、周艳丽、刘波、苏静等也参与了本书的编写,在此,同样致以诚挚的谢意!
由于时间仓促及作者水平所限,本书难免有纰漏和不妥之处,敬请广大读者批评指正。
编 者
2013年12月
