Embedded Linux Primer----嵌入式Linux基础教程--章节介绍

章节介绍

第一章,“导引”,简要介绍了Linux被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式Linux相关的几个重要的标准和组织。

 

第二章,“第一个嵌入式经历”,介绍了与后几章所构建的嵌入式Linux相关的许多概念。

 

第三章,“处理器基础”,我们提出一个着眼于更流行的用来搭建嵌入式Linux系统的处理器和平台。我们检查并选择了很多主要处理器生产厂商产品。所有这些产品的架构都与现在的处理器很相似。

 

第四章,“Linux内核:一个不同的观点”从一个微差异的观点检查Linux内核。我们不关注内核理论和内部,我们着眼于它的结构,设计以及构建重点,学习你认为重要的内容,这其中包括内核构建系统的细节。

 

第五章,“内核初始化”,详细描述Linux处理器初始化处理过程。你将学习到体系结构和独特的bootloader(引导装载程序)镜像组成是如何与下载到Flash并且通过嵌入式bootloader启动的内核本身的镜像是相连接的。本章学习到的知识将帮助你为你的嵌入式设备定制嵌入式内核。

 

第六章,“系统初始化”,继续详细描述初始化过程的检查。当嵌入式内核已经完成了它自己的初始化,应用程序继续以预定的方式初始化。学习完本章,你已经学会了定制你自己的用户区启动序列的知识。

 

第七章,“Bootloaders”,作为一个在嵌入式Linux系统中引导装载程序的角色。我们查看流行的开放源码U-Boo并且提出了一个移植的例子。我们简单介绍现在使用的其它的Bootloader,让你能够为你的特殊装备提供一个合理的选择。

 

第八章,“设备驱动基础”,介绍了Linux设备驱动模型并且提供了强大的后台启动设备驱动。在本章的最后列出了额外阅读的建议。

第九章,“文件系统”,列举了目前嵌入式系统中使用的一些流行的文件系统,包括闪存设备上通常用的JFFS2文件系统。这一章还简要介绍了如何创建自己的文件系统映像,这也是嵌入式Linux开发人员所面临的一项艰巨任务。

 

第十章,“MTD子系统”,介绍了MTD(内存技术设备)子系统。MTD是Linux文件系统和硬件内存设备(尤其是闪存)之间一种非常有效的抽象层。

 

第十一章,“BusyBox”,介绍了BusyBox,它是我们构建小型嵌入式系统最常用的工具。这一章讲述如何根据特定需求对BusyBox进行配置和构建,随后介绍了仅使用BusyBox环境完成系统初始化的全过程。附录C列举了最新版本BusyBox的命令。

 

第十二章,“嵌入式开发环境”,详细介绍了典型交叉开发环境的特殊需求。这一章所介绍的一些技术能有效地提高嵌入式开发人员的工作效率,例如强大的NFS根目录挂载开发配置。

 

第十三章,“开发工具”,检查了许多有用的开发工具,介绍了gdb调试技术,包括内核转储分析的内容。这一章里面许多工具被提出来并且做出介绍,甚至于举出了一些例子,比如strace,ltrace,top,ps以及内存分析器mtrace,dmalloc。本章最后总结了二进制程序的说明,包括强大的readelf的效率。

 

第十四章,“内核调试技术”,提供一个详细的调试Linux内核的技术的检查。我们介绍内核调试器KGDB的使用,提供许多gdb调试器和KGDB调试器的组合使用技术。同样包括一份使用硬件JTAG调试器的使用说明,以及一些当你内核无法启动时分析失败原因的技巧。

 

第十五章,“调试嵌入式Linux应用程序”,将调试内容从内核转移到应用程序。我们继续建立基于先前两章的gdb例子,并且我们提供了多线程和多进程的调试技术。

 

第十六章,“移植Linux”,介绍你自定义的Linux的移植问题。我们跑一个简单的例子,强调在自定义的PowerPC上生产一个工作的Linux内核的步骤。介绍几个重要的概念已经让许多Linux内核移植新手步入陷阱。连同在十三章十四章提出的的技术,在你读完这一章之后,你应该准备好处理你自己定制板端口的准备了。

 

第十七章,“Linux和实时”,提供一个或多个用于嵌入式Linux的令人激动的开发环境的说明:通过CONFIG_RT选项配置实时性,我们采用实时性可用的特性以及他们能够如何被用在设计上,我们同样介绍测量应用程序延迟的技术。

 

第十八章,“通用串行总线”,以简单易懂的语言描述了USB子系统。我们介绍了一些概念和USB拓扑结构,接着给出了几个USB配置的例子。我们会详细分析sysfs的作用和USB,以帮助你理解这个功能强大的系统。我们还会介绍计费对于理解USB和解决USB故障有帮助的工具。

 

第十九章,“udev”,解密这个强大的系统配置工具udev。我们分析udev的默认行为,并以此为基础来理解如何对它进行定制。我们会给出几个现实生活中的例子。对于那些BusyBox的使用者,我们会考察BusyBox自带的mdev工具。

 

感谢

我时常惊讶开源开发者的热心,我总是以谦逊的态度对待我们协会里那些才能高于我的人。在这个项目过程中,我接触到许多Linux界以及开源界的人,并向他们咨询问题。许多问题都能够得到及时的回答。排名不分先后,我想对下面这些乐于回答我问题的Linux界和开源界的人表达我的感激之情。

Dan Malek在第二章“你的第一个嵌入式经历”的某些内容中给了我灵感。

DanKegel 和Daniel Jacobowitz耐心的回答我工具链的问题。

ScottAnderson在第十四章“内核调试技术”中提供了gdb宏指令的新颖想法。

BradDixon 通过他自己继续挑战以及扩大我的技术版本。

JimLewis 提供了MTD(译者:配置存储设备,使Linux可以读取闪存卡)方面的内容和建议。

 

ChrisHallinan

关于作者

Christopher Hallinan是MontaVista公司的现场应用工程师(译者:FAE),生活与工作在马萨诸塞州,拥有25年以上的网络和通信行业经验,做过多种产品的开发工作,在软件接口方面的深厚的开发背景。加盟MontaVista之前,Chris是一位Linux顾问,拥有4年Linux系统移植、设备驱动和bootloader开发经验,在U-Boot(一个流行的bootloader)项目中做出了杰出的贡献。在弄Linux之余,他喜欢唱歌,表演。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Chapter 1. Introduction Section 1.1. Why Linux? Section 1.2. Embedded Linux Today Section 1.3. Open Source and the GPL Section 1.4. Standards and Relevant Bodies Section 1.5. Chapter Summary Chapter 2. Your First Embedded Experience Section 2.1. Embedded or Not? Section 2.2. Anatomy of an Embedded System Section 2.3. Storage Considerations Section 2.4. Embedded Linux Distributions Section 2.5. Chapter Summary Chapter 3. Processor Basics Section 3.1. Stand-alone Processors Section 3.2. Integrated Processors: Systems on Chip Section 3.3. Hardware Platforms Section 3.4. Chapter Summary Chapter 4. The Linux KernelA Different Perspective Section 4.1. Background Section 4.2. Linux Kernel Construction Section 4.3. Kernel Build System Section 4.4. Obtaining a Linux Kernel Section 4.5. Chapter Summary Chapter 5. Kernel Initialization Section 5.1. Composite Kernel Image: Piggy and Friends Section 5.2. Initialization Flow of Control Section 5.3. Kernel Command Line Processing Section 5.4. Subsystem Initialization Section 5.5. The init Thread Section 5.6. Chapter Summary Chapter 6. System Initialization Section 6.1. Root File System Section 6.2. Kernel's Last Boot Steps Section 6.3. The Init Process Section 6.4. Initial RAM Disk Section 6.5. Using initramfs Section 6.6. Shutdown Section 6.7. Chapter Summary Chapter 7. Bootloaders Section 7.1. Role of a Bootloader Section 7.2. Bootloader Challenges Section 7.3. A Universal Bootloader: Das U-Boot Section 7.4. Porting U-Boot Section 7.5. Other Bootloaders Section 7.6. Chapter Summary Chapter 8. Device Driver Basics Section 8.1. Device Driver Concepts Section 8.2. Module Utilities Section 8.3. Driver Methods Section 8.4. Bringing It All Together Section 8.5. Device Drivers and the GPL Section 8.6. Chapter Summary Chapter 9. File Systems Section 9.1. Linux File System Concepts Section 9.2. ext2 Section 9.3. ext3 Section 9.4. ReiserFS Section 9.5. JFFS2 Section 9.6. cramfs Section 9.7. Network File System Section 9.8. Pseudo File Sys
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值