内 容 简 介
本书系统论述了在Linux环境下开发嵌入式系统的设计思想、设计方法及开发流程,通过实例与设计项目,帮助读者尽快掌握嵌入式系统的基本概念,提高嵌入式设计技能。本书共12章,内容包括嵌入式基础知识、Linux概述、ARM体系架构、嵌入式编程、交叉工具链、bootloader、定制内核、文件系统、驱动程序开发基础、嵌入式图形设计等。本书的最后给出了一个综合实例,帮助读者理解嵌入式Linux的开发方法和技巧。本书可作为高校计算机、通信、电子专业相关课程的教材,也可供广大嵌入式开发人员参考。
嵌入式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间的差异重新诠释。 本书可作为高等学校计算机、通信、电子等专业嵌入式设计课程的教材,也可供嵌入式开发技术人员参考。 本书由贺丹丹、张帆、刘峰主编,此外,张彬、林美、李辉、田芳、王建国、赵海、徐凤、周挺、王峰、黄红、林智等同志也参与了本书的编写和最终的整理,在此,编者对他们表示衷心的感谢。 由于时间仓促及作者水平所限,本书难免有纰漏和不妥之处,敬请广大读者批评指正。 编 者 2010年3月