嵌入式Linux基礎(chǔ)教程(第2版?英文版)

出版時(shí)間:2012-1  出版社:人民郵電出版社  作者:哈利南  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

  廣泛的硬件支持、高效穩(wěn)定的內(nèi)核、開(kāi)源共享的軟件、優(yōu)秀的開(kāi)發(fā)工具、完善的網(wǎng)絡(luò)通信和文件管理機(jī)制等特點(diǎn),使嵌入式Linux獲得了廣泛應(yīng)用,已成為嵌入式開(kāi)發(fā)的主流平臺(tái)。
本書(shū)是嵌入式Linux領(lǐng)域名著。全面深入而又簡(jiǎn)明地闡述了構(gòu)建嵌入式Linux系統(tǒng)的精髓。書(shū)中不僅剖析了嵌入式Linux系統(tǒng),而且講述了處理器、內(nèi)核、引導(dǎo)裝入程序、設(shè)備驅(qū)動(dòng)程序、文件系統(tǒng)等關(guān)鍵組件,介紹了嵌入式Linux系統(tǒng)的開(kāi)發(fā)工具、調(diào)試技術(shù)。作者多年積累總結(jié)的嵌入式Linux開(kāi)發(fā)技巧和提示,無(wú)論對(duì)初學(xué)者還是有經(jīng)驗(yàn)的開(kāi)發(fā)人員,都彌足珍貴。這一版不僅對(duì)原有章節(jié)進(jìn)行了全面的修訂、更新和改進(jìn),還新增了udev、USB和開(kāi)源構(gòu)建系統(tǒng)等內(nèi)容。

作者簡(jiǎn)介

  Christopher Hallinan 著名嵌入式Linux技術(shù)專家?,F(xiàn)任Mentor
Graphics公司技術(shù)市場(chǎng)工程師,曾任Monta
Vista軟件公司現(xiàn)場(chǎng)應(yīng)用工程師,3Com公司工程總監(jiān),Crosscomm公司工程總監(jiān)。他有25年以上網(wǎng)絡(luò)和通信產(chǎn)品的軟硬件開(kāi)發(fā)經(jīng)驗(yàn)。曾擔(dān)任
Linux咨詢師,提供定制Linux主板接口、設(shè)備驅(qū)動(dòng)程序和引導(dǎo)裝入程序等方面的解決方案。

書(shū)籍目錄

Chapter1  Introduction
 1.1 Why Linux?
 1.2 Embedded Linux Today
 1.3 Open Source and the GPL
 1.3.1 Free Versus Freedom
 1.4 Standards and Relevant Bodies
 1.4.1 Linux Standard Base
 1.4.2 Linux Foundation
 1.4.3 Carrier-Grade Linux
 1.4.4 Mobile Linux Initiative: Moblin
 1.4.5 Service Availability Forum
 1.5 Summary
 1.5.1 Suggestions for Additional Reading
 
Chapter2  The Big Picture
 2.1 Embedded or Not?
 2.1.1 BIOS Versus Bootloader
 2.2 Anatomy of an Embedded System
 2.2.1 Typical Embedded Linux Setup
 2.2.2 Starting the Target Board
 2.2.3 Booting the Kernel
 2.2.4 Kernel Initialization: Overview
 2.2.5 First User Space Process: init
 2.3 Storage Considerations
 2.3.1 Flash Memory
 2.3.2 NAND Flash
 2.1.1 BIOS Versus Bootloader
 2.2 Anatomy of an Embedded System
 2.2.1 Typical Embedded Linux Setup
 2.2.2 Starting the Target Board
 2.2.3 Booting the Kernel
 2.2.4 Kernel Initialization: Overview
 2.2.5 First User Space Process: init
 2.3 Storage Considerations
 2.3.1 Flash Memory
 2.3.2 NAND Flash
 2.3.3 Flash Usage
 2.3.4 Flash File Systems
 2.3.5 Memory Space
 2.3.6 Execution Contexts
 2.3.7 Process Virtual Memory
 2.3.8 Cross-Development Environment
 2.4 Embedded Linux Distributions
 2.4.1 Commercial Linux Distributions
 2.4.2 Do-It-Yourself Linux Distributions
 2.5 Summary
 2.5.1 Suggestions for Additional Reading
 
Chapter3  Processor Basics
 3.1 Stand-Alone Processors
 3.1.1 IBM FX
 3.1.2 Intel Pentium M
 3.1.3 Intel Atom?
 3.1.4 Freescale MPC7448
 3.1.5 Companion Chipsets
 3.2 Integrated Processors: Systems on Chip
 3.2.1 Power Architecture
 3.2.2 Freescale Power Architecture
 3.2.3 Freescale PowerQUICC I
 3.2.4 Freescale PowerQUICC II
 3.2.5 PowerQUICC II Pro
 3.2.6 Freescale PowerQUICC III
 3.2.7 Freescale QorIQ?
 3.1.4 Freescale MPC7448
 3.1.5 Companion Chipsets
 3.2 Integrated Processors: Systems on Chip
 3.2.1 Power Architecture
 3.2.2 Freescale Power Architecture
 3.2.3 Freescale PowerQUICC I
 3.2.4 Freescale PowerQUICC II
 3.2.5 PowerQUICC II Pro
 3.2.6 Freescale PowerQUICC III
 3.2.7 Freescale QorIQ?
 3.2.8 AMCC Power Architecture
 3.2.9 MIPS
 3.2.10 Broadcom MIPS
 3.2.11 Other MIPS
 3.2.12 ARM
 3.2.13 TI ARM
 3.2.14 Freescale ARM
 3.2.15 Other ARM Processors
 3.3 Other Architectures
 3.4 Hardware Platforms
 3.4.1 CompactPCI
 3.4.2 ATCA
 3.5 Summary
 3.5.1 Suggestions for Additional Reading
 
Chapter4  The Linux Kernel: A Different Perspective
 4.1 Background
 4.1.1 Kernel Versions
 4.1.2 Kernel Source Repositories
 4.1.3 Using git to Download a Kernel
 4.2 Linux Kernel Construction
 4.2.1 Top-Level Source Directory
 4.2.2 Compiling the Kernel
 4.2.3 The Kernel Proper: vmlinux
 4.2.4 Kernel Image Components
 4.2.5 Subdirectory Layout
 4.3 Kernel Build System
 4.1.1 Kernel Versions
 4.1.2 Kernel Source Repositories
 4.1.3 Using git to Download a Kernel
 4.2 Linux Kernel Construction
 4.2.1 Top-Level Source Directory
 4.2.2 Compiling the Kernel
 4.2.3 The Kernel Proper: vmlinux
 4.2.4 Kernel Image Components
 4.2.5 Subdirectory Layout
 4.3 Kernel Build System
 4.3.1 The Dot-Config
 4.3.2 Configuration Editor(s)
 4.3.3 Makefile Targets
 4.4 Kernel Configuration
 4.4.1 Custom Configuration Options
 4.4.2 Kernel Makefiles
 4.5 Kernel Documentation
 4.6 Obtaining a Custom Linux Kernel
 4.6.1 What Else Do I Need?
 4.7 Summary
 4.7.1 Suggestions for Additional Reading
 
Chapter5  Kernel Initialization
 5.1 Composite Kernel Image: Piggy and Friends
 5.1.1 The Image Object
 5.1.2 Architecture Objects
 5.1.3 Bootstrap Loader
 5.1.4 Boot Messages
 5.2 Initialization Flow of Control
 5.2.1 Kernel Entry Point: head.o
 5.2.2 Kernel Startup: main.c
 5.2.3 Architecture Setup
 5.3 Kernel Command-Line Processing
 5.3.1 The __setup Macro
 5.4 Subsystem Initialization
 5.4.1 The *__initcall Macros
 5.5 The init Thread
 5.2 Initialization Flow of Control
 5.2.1 Kernel Entry Point: head.o
 5.2.2 Kernel Startup: main.c
 5.2.3 Architecture Setup
 5.3 Kernel Command-Line Processing
 5.3.1 The __setup Macro
 5.4 Subsystem Initialization
 5.4.1 The *__initcall Macros
 5.5 The init Thread
 5.5.1 Initialization Via initcalls
 5.5.2 initcall_debug
 5.5.3 Final Boot Steps
 5.6 Summary
 5.6.1 Suggestions for Additional Reading
 
Chapter6  User Space Initialization
 6.1 Root File System
 6.1.1 FHS: File System Hierarchy Standard
 6.1.2 File System Layout
 6.1.3 Minimal File System
 6.1.4 The Embedded Root FS Challenge
 6.1.5 Trial-and-Error Method
 6.1.6 Automated File System Build Tools
 6.2 Kernel’s Last Boot Steps
 6.2.1 First User Space Program
 6.2.2 Resolving Dependencies
 6.2.3 Customized Initial Process
 6.3 The init Process
 6.3.1 inittab
 6.3.2 Sample Web Server Startup Script
 6.4 Initial RAM Disk
 6.4.1 Booting with initrd
 6.4.2 Bootloader Support for initrd
 6.4.3 initrd Magic: linuxrc
 6.4.4 The initrd Plumbing
 6.4.5 Building an initrd Image
 6.5 Using initramfs
 6.5.1 Customizing
 6.3.1 inittab
 6.3.2 Sample Web Server Startup Script
 6.4 Initial RAM Disk
 6.4.1 Booting with initrd
 6.4.2 Bootloader Support for initrd
 6.4.3 initrd Magic: linuxrc
 6.4.4 The initrd Plumbing
 6.4.5 Building an initrd Image
 6.5 Using initramfs
 6.5.1 Customizing initramfs
 6.6 Shutdown
 6.7 Summary
 6.7.1 Suggestions for Additional Reading
 
Chapter7  Bootloaders
 7.1 Role of a Bootloader
 7.2 Bootloader Challenges
 7.2.1 DRAM Controller
 7.2.2 Flash Versus RAM
 7.2.3 Image Complexity
 7.2.4 Execution Context
 7.3 A Universal Bootloader: Das U-Boot
 7.3.1 Obtaining U-Boot
 7.3.2 Configuring U-Boot
 7.3.3 U-Boot Monitor Commands
 7.3.4 Network Operations
 7.3.5 Storage Subsystems
 7.3.6 Booting from Disk
 7.4 Porting U-Boot
 7.4.1 EP405 U-Boot Port
 7.4.2 U-Boot Makefile Configuration Target
 7.4.3 EP405 First Build
 7.4.4 EP405 Processor Initialization
 7.4.5 Board-Specific Initialization
 7.4.6 Porting Summary
 7.4.7 U-Boot Image Format
 7.5 Device Tree Blob (Flat Device Tree)
 7.3.6 Booting from Disk
 7.4 Porting U-Boot
 7.4.1 EP405 U-Boot Port
 7.4.2 U-Boot Makefile Configuration Target
 7.4.3 EP405 First Build
 7.4.4 EP405 Processor Initialization
 7.4.5 Board-Specific Initialization
 7.4.6 Porting Summary
 7.4.7 U-Boot Image Format
 7.5 Device Tree Blob (Flat Device Tree)
 7.5.1 Device Tree Source
 7.5.2 Device Tree Compiler
 7.5.3 Alternative Kernel Images Using DTB
 7.6 Other Bootloaders
 7.6.1 Lilo
 7.6.2 GRUB
 7.6.3 Still More Bootloaders
 7.7 Summary
 7.7.1 Suggestions for Additional Reading
 
Chapter8  Device Driver Basics
 8.1 Device Driver Concepts
 8.1.1 Loadable Modules
 8.1.2 Device Driver Architecture
 8.1.3 Minimal Device Driver Example
 8.1.4 Module Build Infrastructure
 8.1.5 Installing a Device Driver
 8.1.6 Loading a Module
 8.1.7 Module Parameters
 8.2 Module Utilities
 8.2.1 insmod
 8.2.2 lsmod
 8.2.3 modprobe
 8.2.4 depmod
 8.2.5 rmmod
 8.2.6 modinfo
 8.3 Driver Methods
 8.1.5 Installing a Device Driver
 8.1.6 Loading a Module
 8.1.7 Module Parameters
 8.2 Module Utilities
 8.2.1 insmod
 8.2.2 lsmod
 8.2.3 modprobe
 8.2.4 depmod
 8.2.5 rmmod
 8.2.6 modinfo
 8.3 Driver Methods
 8.3.1 Driver File System Operations
 8.3.2 Allocation of Device Numbers
 8.3.3 Device Nodes and mknod
 8.4 Bringing It All Together
 8.5 Building Out-of-Tree Drivers
 8.6 Device Drivers and the GPL
 8.7 Summary
 8.7.1 Suggestions for Additional Reading
 
Chapter9  File Systems
 9.1 Linux File System Concepts
 9.1.1 Partitions
 9.2 ext2
 9.2.1 Mounting a File System
 9.2.2 Checking File System Integrity
 9.3 ext3
 9.4 ext4
 9.5 ReiserFS
 9.6 JFFS2
 9.6.1 Building a JFFS2 Image
 9.7 cramfs
 9.8 Network File System
 9.8.1 Root File System on NFS
 9.9 Pseudo File Systems
 9.9.1 /proc File System
 9.9.2 sysfs
 9.4 ext4
 9.5 ReiserFS
 9.6 JFFS2
  

章節(jié)摘錄

版權(quán)頁(yè):插圖:Nearly everyone is familiar with Compact Flash and SD cards used in a wide variety of consumer devices, such as digital cameras and PDAs (both great examples of embed- ded systems). These modules, based on Flash memory technology, can be thought of as solid-state hard drives, capable of storing many megabytes——and even gigabytes-of data in a tiny footprint. They contain no moving parts, are relatively rugged, and oper- ate on a single common power supply voltage. Several manufacturers of Flash memory exist. Flash memory comes in a variety of electrical formats, physical packages, and capacities. It is not uncommon to see embed- ded systems with as little as 4MB or 8MB of nonvolatile storage. More typical storage requirements for embedded Linux systems range from 16MB to 256MB or more. An increasing number of embedded Linux systems have nonvolat.

媒體關(guān)注與評(píng)論

“這本書(shū)很令我振奮。它為那些想在嵌入式系統(tǒng)中使用Linux的開(kāi)發(fā)人員提供了極好的學(xué)習(xí)路線指導(dǎo)。本書(shū)內(nèi)容簡(jiǎn)潔、準(zhǔn)確,組織合理。Christopher的知識(shí)和見(jiàn)解貫穿全書(shū),你不僅能得到很多信息和幫助,也能享受到閱讀的樂(lè)趣?!薄  狝rnold Robbins,著名Linux專家“本書(shū)涵蓋了嵌入式Linux開(kāi)發(fā)的方方面面……強(qiáng)烈推薦每一位嵌入式Linux開(kāi)發(fā)人員閱讀?!薄  狶inuxQuestions.org

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    嵌入式Linux基礎(chǔ)教程(第2版?英文版) PDF格式下載


用戶評(píng)論 (總計(jì)6條)

 
 

  •   學(xué)習(xí)嵌入式Linux的一本很不錯(cuò)的入門書(shū),不是很難的
  •   很好的書(shū),專業(yè)性很強(qiáng)
  •   書(shū)本還行,只是還沒(méi)有仔細(xì)閱讀,對(duì)于讀書(shū)心得日后再補(bǔ);有一小點(diǎn)不滿意,書(shū)封面有劃痕。
  •   看見(jiàn)整本書(shū)的英語(yǔ)。其實(shí)感覺(jué)還好,沒(méi)有很認(rèn)真的看過(guò),,應(yīng)該還好吧
  •   紙制不錯(cuò),看得懂,挺好的一本書(shū)
  •   一直在看電子版的,看到紙質(zhì)的出版就迅速購(gòu)買了一本,感覺(jué)本書(shū)在介紹大體輪廓上,有著適合Primer的深入,Good!
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7