嵌入式Linux基础教程(嵌入式Linux权威著作)
基本信息
- 作者: (美)Christopher Hallinan [作译者介绍]
- 译者: 华清远见嵌入式培训中心
- 丛书名: 图灵程序设计丛书 操作系统
- 出版社:人民邮电出版社
- ISBN:9787115215222
- 上架时间:2009-11-13
- 出版日期:2009 年11月
- 开本:16开
- 页码:341
- 版次:1-1
- 所属分类:
计算机 > 操作系统 > Linux
计算机 > 计算机组织与体系结构 > 嵌入式计算机
编辑推荐
嵌入式Linux权威著作
Amazon全五星评价
全面剖析构建嵌入式Linux开发,揭示大量技术内幕
内容简介回到顶部↑
本书是嵌入式 linux的经典教程,介绍了引导装入程序、系统初始化、文件系统、闪存和内核、应用程序调试技巧等,还讲述了构建 linux系统的工作原理,用于驱动不同体系结构的配置,linux内核源码树的特性,如何根据需求配制内核运行时的行为,如何扩展系统功能等内容。更重要的是,本书阐述了如何修改系统使之满足读者自己的需求,使读者能从中学习一些嵌入式工程中非常有用的提示和技巧。.
本书适合 linux程序员阅读,也可作为高等院校相关专业师生的参考读物。...
本书适合 linux程序员阅读,也可作为高等院校相关专业师生的参考读物。...
作译者回到顶部↑
本书提供作译者介绍
Christopher Hallinan 著名嵌入式Linux技术专家。现任Monta Vista软件公司现场应用工程师,曾任3Com公司工程总监。他有25年以上网络和通信产品的软硬件开发经验。曾担任Linux咨询师,提供定制Linux主板接口、设备驱动程序和引导装入程序等方面的解决方案。.
华清远见嵌入式培训中心(http://www.farsight.com.cn)是享有盛誉的嵌入式高端培训企业。目前已成为ARM、Altera、Atmel、Microsoft、Symbian等全球知名嵌入式企业授权培训中心,每年为Samsung、NEC、Philips、Motorola等世界500强企业提供.. << 查看详细
华清远见嵌入式培训中心(http://www.farsight.com.cn)是享有盛誉的嵌入式高端培训企业。目前已成为ARM、Altera、Atmel、Microsoft、Symbian等全球知名嵌入式企业授权培训中心,每年为Samsung、NEC、Philips、Motorola等世界500强企业提供.. << 查看详细
目录回到顶部↑
第1章 引言. 1
1.1 为什么使用linux 1
1.2 嵌入式linux现状 2
1.3 开源和gpl 2
1.4 标准和相关机构 3
1.4.1 lsb 3
1.4.2 osdl 3
1.5 小结 4
参考资源 4
第2章 嵌入式初体验 5
2.1 需要嵌入式系统吗 5
2.2 嵌入式系统剖析 6
2.2.1 典型嵌入式linux系统设置 7
2.2.2 启动目标板 8
2.2.3 启动内核 9
2.2.4 内核初始化概述 10
2.2.5 第一个用户空间进程:init 11
2.3 存储的思考 12
2.3.1 闪存 12
2.3.2 nand闪存 13
1.1 为什么使用linux 1
1.2 嵌入式linux现状 2
1.3 开源和gpl 2
1.4 标准和相关机构 3
1.4.1 lsb 3
1.4.2 osdl 3
1.5 小结 4
参考资源 4
第2章 嵌入式初体验 5
2.1 需要嵌入式系统吗 5
2.2 嵌入式系统剖析 6
2.2.1 典型嵌入式linux系统设置 7
2.2.2 启动目标板 8
2.2.3 启动内核 9
2.2.4 内核初始化概述 10
2.2.5 第一个用户空间进程:init 11
2.3 存储的思考 12
2.3.1 闪存 12
2.3.2 nand闪存 13
译者序回到顶部↑
如果早些看到Christopher Hallinan的这本书,我就不会在开发过程中走那么多弯路了!.
人类无限膨胀的欲望促进了嵌入式的发展。回想10年前,你能想象手机可以照相吗?你能想象汽车里会安装全球定位系统吗?今天看来,这些都是多么普通的功能,因为只要调用一些函数(压缩算法)就可以实现。但是你想过吗?如果没有操作系统的支持,很多复杂的功能是无法完成的。要从事嵌入式开发,掌握操作系统的知识是必要的本领之一。
一个不可忽视的事实是电子产品的性能不断提升,而价格却在下降。开发商越来越重视成本。免费、自由的Linux无疑是一个强有力的竞争者。凭借优异的特性和良好的发展趋势,Linux轻而易举地坐上了嵌入式操作系统的头把交椅。
嵌入式系统并不见得有多么高深,但是因为嵌入式系统本身涉及了很多学科,致使很多初学者时常深感迷茫,不知道从何入手,即便是编译环境都很难搭建,更不用说调试和部署了。幸运的是,Christopher Hallinan的这部著作为我们学习嵌入式系统提供了捷径。请允许我在此使用“捷径”一词,因为我在刚刚踏入嵌入式Linux大门时,其中的很多概念也一度让我觉得神秘而困惑。虽然网络搜索功能很强大,但是就如同迷失在一棵大树的树叶之间,你很难摸索到树干,找到正确的方向,而Christopher Hallinan的这本书就是指引我们前进的“树干”。更可贵的是,本书每章后都提供了相关参考资料,你会很容易地查找到需要了解的内容。..
在如此短的篇幅内阐述嵌入式Linux的方方面面是不可能的。但本书作者却让你在一本书中轻松地掌握了嵌入式开发的脉络,这是难能可贵的。本书内容广泛而又不乏深度,嵌入式Linux开发的初学者和提高者都能从中获得巨大收获。
本书的翻译工作由北京华清远见科技信息有限公司负责组织,拿到书后,我们的翻译团队粗略地浏览了一遍,一致认为本书的内容尽在我们的掌握之中,毕竟我们自认为在嵌入式Linux领域小有经验。但在翻译过程中,我们渐渐改变了最初的错误的想法。看起来和写出来有很大不同。除了赞叹作者扎实的基本功外,我们更被作者高超的写作艺术深深折服。摆在我们面前最大的难题不是技术,而是如何尽可能地把作者的原意表现出来。我想,这也是衡量一本书翻译质量的关键吧!
翻译的具体分工如下:王辉翻译第1章至第4章、第8章,张小全翻译第5章、第6章、第9章至第11章,其余部分及全书统稿由孙天泽完成。我要特别感谢袁文菊、吴彦波两位老师对本书所做的贡献。
我希望能够代表嵌入式同行们感谢人民邮电出版社图灵公司,是他们以卓越的眼光引进了这部著作。尽管我们做了充分的准备,但是受能力所限,译文中仍难免存在一些错误,还请读者批评指正。最后,祝读者能通过学习本书获得较大的提高。...
人类无限膨胀的欲望促进了嵌入式的发展。回想10年前,你能想象手机可以照相吗?你能想象汽车里会安装全球定位系统吗?今天看来,这些都是多么普通的功能,因为只要调用一些函数(压缩算法)就可以实现。但是你想过吗?如果没有操作系统的支持,很多复杂的功能是无法完成的。要从事嵌入式开发,掌握操作系统的知识是必要的本领之一。
一个不可忽视的事实是电子产品的性能不断提升,而价格却在下降。开发商越来越重视成本。免费、自由的Linux无疑是一个强有力的竞争者。凭借优异的特性和良好的发展趋势,Linux轻而易举地坐上了嵌入式操作系统的头把交椅。
嵌入式系统并不见得有多么高深,但是因为嵌入式系统本身涉及了很多学科,致使很多初学者时常深感迷茫,不知道从何入手,即便是编译环境都很难搭建,更不用说调试和部署了。幸运的是,Christopher Hallinan的这部著作为我们学习嵌入式系统提供了捷径。请允许我在此使用“捷径”一词,因为我在刚刚踏入嵌入式Linux大门时,其中的很多概念也一度让我觉得神秘而困惑。虽然网络搜索功能很强大,但是就如同迷失在一棵大树的树叶之间,你很难摸索到树干,找到正确的方向,而Christopher Hallinan的这本书就是指引我们前进的“树干”。更可贵的是,本书每章后都提供了相关参考资料,你会很容易地查找到需要了解的内容。..
在如此短的篇幅内阐述嵌入式Linux的方方面面是不可能的。但本书作者却让你在一本书中轻松地掌握了嵌入式开发的脉络,这是难能可贵的。本书内容广泛而又不乏深度,嵌入式Linux开发的初学者和提高者都能从中获得巨大收获。
本书的翻译工作由北京华清远见科技信息有限公司负责组织,拿到书后,我们的翻译团队粗略地浏览了一遍,一致认为本书的内容尽在我们的掌握之中,毕竟我们自认为在嵌入式Linux领域小有经验。但在翻译过程中,我们渐渐改变了最初的错误的想法。看起来和写出来有很大不同。除了赞叹作者扎实的基本功外,我们更被作者高超的写作艺术深深折服。摆在我们面前最大的难题不是技术,而是如何尽可能地把作者的原意表现出来。我想,这也是衡量一本书翻译质量的关键吧!
翻译的具体分工如下:王辉翻译第1章至第4章、第8章,张小全翻译第5章、第6章、第9章至第11章,其余部分及全书统稿由孙天泽完成。我要特别感谢袁文菊、吴彦波两位老师对本书所做的贡献。
我希望能够代表嵌入式同行们感谢人民邮电出版社图灵公司,是他们以卓越的眼光引进了这部著作。尽管我们做了充分的准备,但是受能力所限,译文中仍难免存在一些错误,还请读者批评指正。最后,祝读者能通过学习本书获得较大的提高。...
前言回到顶部↑
虽然Linux方面已经有很多好书,但是没有哪一本书能为嵌入式Linux开发人员提供广泛的信息和建议。当然,有一些非常优秀的书籍介绍了Linux内核和Linux系统管理等方面的知识,本书也参考了许多我认为在同类书中最优秀的著作。.
本书的大部分素材取自我在这些年来收到的一些开发工程师提出的问题,当时我的职位是嵌入式Linux顾问。现在我是Monta Vista Software公司的现场应用工程师,该公司是嵌入式Linux发行厂商的领跑者。
即便对于很有经验的软件工程师来说,嵌入式Linux也带来了一些特殊的挑战。首先,那些具有多年实时操作系统(RTOS)开发经验的工程师很难把思维转换到Linux上;其次,有经验的应用程序开发人员通常很难理解多种开发环境的复杂性。
虽然这只是一本面向刚接触嵌入式Linux开发人员的基础读物,但是我确信有经验的嵌入式Linux开发人员也一定能从中找到有用的提示和技巧,这些可是我花费多年积累总结出来的。
给嵌入式Linux开发者的实用建议
书中包括了我的一些观点。作为一名嵌入式工程师,要跟上嵌入式Linux环境的快速发展,你需要知道这些观点。本书没有重点讲解Linux内核内部原理,在谈论内核的章节中侧重从项目角度介绍内核,你可以阅读专门介绍内核内部原理的著作来了解相关知识。通过本书可以学习内核源码树的组织和布局,了解组成内核映像的二进制文件组件以及如何加载它们,它们在嵌入式系统中的作用等知识。图5-1是我最欣赏的一幅图,它形象地说明了合成内核映像的构建过程。
本书的一些章节讲述了构建系统的工作原理,以及怎样将满足项目需求的定制的内核变化加载到内核中。你会了解用于驱动不同体系结构配置的机制和Linux内核源码树的特性;更重要的是,掌握如何修改系统使之满足自己的需求。除此之外,我们还深入探讨了内核命令行参数机制,介绍了它是如何工作的,如何根据需求配置内核运行时行为,如何扩展系统功能,如何导航内核源代码,如何为相关嵌入式系统的不同任务配置内核。其他内容还包括嵌入式项目中一些非常有用的提示和技巧,内容涵盖了引导装入程序、系统初始化、文件系统和闪存、内核调试技巧以及应用程序调试技巧等。
读者对象
本书需要读者具有一定的C语言编程基础,对局域网和因特网有基本的了解,理解IP地址的概念以及IP地址在简单局域网中的用法,还需要理解十六进制和八进制编码方式以及它们常见的用法。
本书也涉及一些C语言编译和链接中较为深入的概念,所以如果你能粗略复习一下C语言链接器的概念就更好了。同时,了解GNU make操作和语法对于阅读本书也很有帮助。
本书不是什么
本书不是一本详细介绍硬件的指南。嵌入式开发者所面临的困难之一就是现在硬件设备之间有巨大的差异。一款集成部分外围设备的现代32位处理器,其用户手册动辄就有1000页,这没有捷径可走。但从程序员的角度看,如果需要理解硬件设备,你必须花费大量时间研读硬件数据手册和参考指南,同时要花费更多的时间编写和测试这些硬件设备的工作代码。
这也不是一本讲述Linux内核和内部原理的书。从本书中无法学到用来实现Linux虚拟内存管理策略和过程的内存管理单元(MMU)的精深知识。已经有许多关于这个主题的优秀书籍,我建议你翻阅每章后面的“参考资源”。
排版约定
文件名和代码采用Courier字体,需要读者输入的命令使用加粗Courier字体。新术语或重要的概念使用楷体加以强调。
路径名前如有3个点则表示众所周知但未明确指定的顶层目录。上下文不同,顶层目录也会不同,但大多数情况下是指Linux内核源码目录的顶层。例如,.../arch/ppc/kernel/setup.c表示setup.c文件位于Linux内核源码树的体系结构分支上。实际路径可能是~/sandbox/linux.2.6.14/arch/ppc/kernel/setup.c。
本书结构
第1章简要介绍了Linux被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式Linux相关的几个重要的标准和组织。
第2章介绍了许多与后几章所构建的嵌入式Linux相关的概念。
第3章将站在更高的层面了解用于构建嵌入式Linux系统的流行的处理器和平台,介绍了从主要处理器厂商精选的几款产品,以及几乎所有主流的体系结构。
本书的大部分素材取自我在这些年来收到的一些开发工程师提出的问题,当时我的职位是嵌入式Linux顾问。现在我是Monta Vista Software公司的现场应用工程师,该公司是嵌入式Linux发行厂商的领跑者。
即便对于很有经验的软件工程师来说,嵌入式Linux也带来了一些特殊的挑战。首先,那些具有多年实时操作系统(RTOS)开发经验的工程师很难把思维转换到Linux上;其次,有经验的应用程序开发人员通常很难理解多种开发环境的复杂性。
虽然这只是一本面向刚接触嵌入式Linux开发人员的基础读物,但是我确信有经验的嵌入式Linux开发人员也一定能从中找到有用的提示和技巧,这些可是我花费多年积累总结出来的。
给嵌入式Linux开发者的实用建议
书中包括了我的一些观点。作为一名嵌入式工程师,要跟上嵌入式Linux环境的快速发展,你需要知道这些观点。本书没有重点讲解Linux内核内部原理,在谈论内核的章节中侧重从项目角度介绍内核,你可以阅读专门介绍内核内部原理的著作来了解相关知识。通过本书可以学习内核源码树的组织和布局,了解组成内核映像的二进制文件组件以及如何加载它们,它们在嵌入式系统中的作用等知识。图5-1是我最欣赏的一幅图,它形象地说明了合成内核映像的构建过程。
本书的一些章节讲述了构建系统的工作原理,以及怎样将满足项目需求的定制的内核变化加载到内核中。你会了解用于驱动不同体系结构配置的机制和Linux内核源码树的特性;更重要的是,掌握如何修改系统使之满足自己的需求。除此之外,我们还深入探讨了内核命令行参数机制,介绍了它是如何工作的,如何根据需求配置内核运行时行为,如何扩展系统功能,如何导航内核源代码,如何为相关嵌入式系统的不同任务配置内核。其他内容还包括嵌入式项目中一些非常有用的提示和技巧,内容涵盖了引导装入程序、系统初始化、文件系统和闪存、内核调试技巧以及应用程序调试技巧等。
读者对象
本书需要读者具有一定的C语言编程基础,对局域网和因特网有基本的了解,理解IP地址的概念以及IP地址在简单局域网中的用法,还需要理解十六进制和八进制编码方式以及它们常见的用法。
本书也涉及一些C语言编译和链接中较为深入的概念,所以如果你能粗略复习一下C语言链接器的概念就更好了。同时,了解GNU make操作和语法对于阅读本书也很有帮助。
本书不是什么
本书不是一本详细介绍硬件的指南。嵌入式开发者所面临的困难之一就是现在硬件设备之间有巨大的差异。一款集成部分外围设备的现代32位处理器,其用户手册动辄就有1000页,这没有捷径可走。但从程序员的角度看,如果需要理解硬件设备,你必须花费大量时间研读硬件数据手册和参考指南,同时要花费更多的时间编写和测试这些硬件设备的工作代码。
这也不是一本讲述Linux内核和内部原理的书。从本书中无法学到用来实现Linux虚拟内存管理策略和过程的内存管理单元(MMU)的精深知识。已经有许多关于这个主题的优秀书籍,我建议你翻阅每章后面的“参考资源”。
排版约定
文件名和代码采用Courier字体,需要读者输入的命令使用加粗Courier字体。新术语或重要的概念使用楷体加以强调。
路径名前如有3个点则表示众所周知但未明确指定的顶层目录。上下文不同,顶层目录也会不同,但大多数情况下是指Linux内核源码目录的顶层。例如,.../arch/ppc/kernel/setup.c表示setup.c文件位于Linux内核源码树的体系结构分支上。实际路径可能是~/sandbox/linux.2.6.14/arch/ppc/kernel/setup.c。
本书结构
第1章简要介绍了Linux被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式Linux相关的几个重要的标准和组织。
第2章介绍了许多与后几章所构建的嵌入式Linux相关的概念。
第3章将站在更高的层面了解用于构建嵌入式Linux系统的流行的处理器和平台,介绍了从主要处理器厂商精选的几款产品,以及几乎所有主流的体系结构。
序言回到顶部↑
计算机无处不在!.
在过去大约25年中,只要不是与世隔绝的人就肯定不会对此感到大惊小怪。现在,计算机不仅占据了我们的桌面,进驻了我们的厨房,而且越来越多地进入到我们的生活场所,即便是在微波炉、电烤箱、移动电话和便携式数字音乐播放器中也出现了它的身影。
选择本书的读者肯定已经了解了不少,但还想学习更多的嵌入式系统知识。
就在不久前,嵌入式系统还不是很强大,它们运行具有特殊目的、专用的操作系统,而这些操作系统与工业标准的系统有很大不同(而且,它们也更难于开发)。现在,嵌入式系统即使在功能上不比家用计算机强大,但至少也与其相当(例如高端游戏终端)。
伴随着这种强大的功能,运行Linux等成熟操作系统的能力也呼之欲出,在嵌入式产品中使用Linux这样的操作系统变得具有非常大的意义。一个庞大的开发者社区更使得这一切成为可能。开发环境和部署环境惊人相似,这也使得程序员的生活变得更轻松。现在我们既有由虚拟内存系统提供的保护地址空间的安全性,又有多用户的能力和灵活性。真是不老少了。..
出于这个原因,全世界的公司都在许多设备中选择使用Linux,如PDA、家庭娱乐系统,甚至移动电话——不管你信不信!
这本书很令我振奋。它为那些想在嵌入式系统中使用Linux的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理,Christopher的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能获得阅读的乐趣。
我希望在你学习的同时也能感受到这种乐趣,我自己已经感受到了。...
Arnold Robbins
(著名Linux专家)
在过去大约25年中,只要不是与世隔绝的人就肯定不会对此感到大惊小怪。现在,计算机不仅占据了我们的桌面,进驻了我们的厨房,而且越来越多地进入到我们的生活场所,即便是在微波炉、电烤箱、移动电话和便携式数字音乐播放器中也出现了它的身影。
选择本书的读者肯定已经了解了不少,但还想学习更多的嵌入式系统知识。
就在不久前,嵌入式系统还不是很强大,它们运行具有特殊目的、专用的操作系统,而这些操作系统与工业标准的系统有很大不同(而且,它们也更难于开发)。现在,嵌入式系统即使在功能上不比家用计算机强大,但至少也与其相当(例如高端游戏终端)。
伴随着这种强大的功能,运行Linux等成熟操作系统的能力也呼之欲出,在嵌入式产品中使用Linux这样的操作系统变得具有非常大的意义。一个庞大的开发者社区更使得这一切成为可能。开发环境和部署环境惊人相似,这也使得程序员的生活变得更轻松。现在我们既有由虚拟内存系统提供的保护地址空间的安全性,又有多用户的能力和灵活性。真是不老少了。..
出于这个原因,全世界的公司都在许多设备中选择使用Linux,如PDA、家庭娱乐系统,甚至移动电话——不管你信不信!
这本书很令我振奋。它为那些想在嵌入式系统中使用Linux的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理,Christopher的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能获得阅读的乐趣。
我希望在你学习的同时也能感受到这种乐趣,我自己已经感受到了。...
Arnold Robbins
(著名Linux专家)
媒体评论回到顶部↑
“这本书很令我振奋,它为那些想在嵌入式系统中使用Linux的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理,
Christopher的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能享受到阅读的乐趣。”.
——Arnold Robbins,著名Linux专家
“本书涵盖了嵌入式Linux开发的方方面面……强烈推荐每一位嵌入式Linux开发人员阅读。”...
——LinuxQuestions.org
Christopher的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能享受到阅读的乐趣。”.
——Arnold Robbins,著名Linux专家
“本书涵盖了嵌入式Linux开发的方方面面……强烈推荐每一位嵌入式Linux开发人员阅读。”...
——LinuxQuestions.org


点击看大图





加载中...
