|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Building Embedded Linux Systems + Q# |. a3 Y( [) r
By Karim Yaghmour & Y, p# W Y# Z) R
6 O7 V% c$ s, l+ TPublisher : O'Reilly
$ @6 f) t3 k3 u) _$ i5 t0 tPub Date : April 2003
* D, |. G. ^8 {7 PISBN : 0-596-00222-X
+ |0 @ N2 }' b' {9 M {8 GPages : 416 # @! C3 n0 O* W3 ^" @
Slots : 1
( u9 |+ j7 R0 t) k1 j, `$ y' U& n( [# P1 g7 E
" v/ H) _3 H/ q, }5 r: D Copyright
1 R. e% m8 s3 W! c9 ` Dedication 9 O' o, r* ^2 q% o/ R- Y! x9 s
Preface . T5 c* R3 r* d5 o2 U- g- ?' f( H
Audience of This Book ! A& ~/ L6 _3 d9 Q% N% f
Scope and Background Information
. j, Y& z( v" f3 h) S, J r' M Organization of the Material # \& I5 V5 D% c9 ? d
Hardware Used in This Book ( E" B! a$ P E0 o" H" Z% I
Software Versions
) d, X; J4 _2 U }# E Book Web Site * q1 w7 Z& a9 P) b- Q
Typographical Conventions % e" K3 q1 L* ^/ p
Contact Information
' L$ D1 |1 R/ ~6 l% N9 A Acknowledgments
A, [& M3 n/ |0 k/ W/ y
$ W7 _' g! I5 F0 z6 l" n' e" c, O Chapter 1. Introduction
0 l' y$ @4 {1 x" y Section 1.1. Definitions
e3 [6 v9 N# @ Section 1.2. Real Life and Embedded Linux Systems 9 z9 h8 y# g1 U& y, J
Section 1.3. Example Multicomponent System * O" Z; s# w' S5 D( h3 E) z8 {, Q
Section 1.4. Design and Implementation Methodology
" l/ `9 i( o& Q & I( V$ M9 V+ i3 J) q9 y$ [$ s
Chapter 2. Basic concepts
7 \3 c$ G5 K) D; j. w Section 2.1. Types of Hosts
0 Q b* r z5 S8 X/ @) P* A Section 2.2. Types of Host/Target Development Setups
9 ~) r- W* W# x" \$ Q5 l# q) y) Y, G Section 2.3. Types of Host/Target Debug Setups
+ k* I f' L6 r& S* P( i8 Q% U Section 2.4. Generic Architecture of an Embedded Linux System
+ h+ A. D& A2 e: s$ j* B: u* [: T Section 2.5. System Startup # ^/ I( Q6 Q* t' C$ L
Section 2.6. Types of Boot Configurations 5 }3 `' ^& v) P I7 p
Section 2.7. System Memory Layout 5 Z! H. Y; R9 I: ]' ~9 K
0 Z# q! v1 N1 [! G Chapter 3. Hardware Support 2 j. w( X6 H" {1 e" P
Section 3.1. Processor Architectures 2 h1 e/ E4 q* ^+ s2 C2 a
Section 3.2. Buses and InteRFaces 3 `: L7 p2 ^4 U H7 \ ?
Section 3.3. I/O ) |" a$ W, ~$ g8 E, Q5 c6 N8 k7 V
Section 3.4. Storage 7 v6 D4 T9 K0 c' c; z3 o
Section 3.5. General Purpose Networking ; U- y7 y( }1 V. Q9 v
Section 3.6. Industrial Grade Networking
2 B4 W+ F) h# S1 `( V Section 3.7. System Monitoring ' X8 i$ y! V x3 H+ D
5 Y* C' @4 L+ M& _1 G Chapter 4. Development Tools ) N* `. Y$ _9 B
Section 4.1. Using a Practical Project Workspace - ]7 ^" q2 _7 V1 |
Section 4.2. GNU Cross-Platform Development Toolchain ; B6 x4 R8 a5 W
Section 4.3. C Library Alternatives : G/ Q$ r) E; C a, b* d
Section 4.4. Java 6 h/ U; Z2 F1 |# H
Section 4.5. Perl 9 h2 d. @7 {9 ]5 ~& S: e; T
Section 4.6. Python 5 [( i, ]0 L: u) c2 {5 i
Section 4.7. Ada ) \: S' X" X G1 @
Section 4.8. Other Programming Languages 7 i# v+ M9 @& `" l
Section 4.9. Integrated Development Environments
/ G; ? u0 j. A- _4 X Section 4.10. Terminal Emulators ) G: B& g3 [: c& T
: X8 M; g p; D- {* F
Chapter 5. Kernel Considerations 6 m& {" d) H- U; }
Section 5.1. Selecting a Kernel
, W0 n1 G' _6 z; i: b% N Section 5.2. Configuring the Kernel
@1 l( b7 ~0 v; K- J4 M Section 5.3. Compiling the Kernel
# D& p. C& j2 ?2 S6 l Section 5.4. Installing the Kernel ( p. u$ k7 p7 ^3 @( a
Section 5.5. In the Field 3 [ l% l4 L- M4 g6 ?
5 M5 k6 c1 e1 g$ B1 v2 o
Chapter 6. Root Filesystem Content 6 e; A1 q3 _: m: u* i
Section 6.1. Basic Root Filesystem Structure 9 A5 h2 m( E! ^' f8 r
Section 6.2. Libraries
2 o" V. ^' p4 k v! J5 g. ? Section 6.3. Kernel Modules
0 _! I* p& A* a" k Section 6.4. Kernel Images $ `6 }* k4 Q( A: y1 I; G
Section 6.5. Device Files
% b/ j- @, Z) a; C* J0 ]# t) D7 @ Section 6.6. Main System Applications - S% J3 y P, b. N) h9 L
Section 6.7. Custom Applications
3 X; ~0 d' W6 L. q; s. | Section 6.8. System Initialization
; j% l2 \: T& ~2 i/ X
& N: l7 M# }# o0 k6 I7 N+ V4 l Chapter 7. Storage Device Manipulation " }6 e. e$ T, r! F
Section 7.1. MTD-Supported Devices + S3 d' k& ^7 p. J0 J' {
Section 7.2. Disk Devices 8 Q2 j6 D6 U! s6 O- Z
Section 7.3. To Swap or Not to Swap ( E" V. Y. ]: i' ~+ }
2 o% d( H/ Z; R7 F& X' D- O Chapter 8. Root Filesystem Setup # F" U c# O: P' V
Section 8.1. Selecting a Filesystem
/ g" ?8 s- o U: n' ]+ d. i. b) K Section 8.2. Using an NFS-Mounted Root Filesystem to Write a Filesystem Image to Flash 4 E2 R1 |2 C h
Section 8.3. CRAMFS % s, s# W( t% L+ S+ P
Section 8.4. JFFS2 : u: J; z6 S& m3 R* R, r
Section 8.5. Disk Filesystem over NFTL 2 z5 m# }# E! e9 P! g1 Z5 l+ R
Section 8.6. Disk Filesystem over RAM Disk
0 r2 B# r: _0 w" n; _& N Section 8.7. Mounting Directories on TMPFS
9 L7 B2 w5 U! l$ J, N0 J Section 8.8. Live Updates i5 Q4 C) {# {& r, K/ _
" U1 q1 j) F' ^! ^' S6 b
Chapter 9. Setting Up the Bootloader 2 u5 Q1 C8 \, @2 ^; t
Section 9.1. Bootloaders Galore
+ h* S4 a0 s, H& @/ N% p& w Section 9.2. Server Setup for Network Boot 3 Q) y' f$ a# X1 A4 B
Section 9.3. Using LILO with Disk and CompactFlash Devices 4 r9 b+ B7 a2 t! f5 b6 v$ n
Section 9.4. Using GRUB with DiskOnChip Devices + B8 q* F8 D( v$ ?2 F
Section 9.5. U-Boot
' N: H! F0 t" b
8 G3 T* W( t' e5 Z5 q# b* V Chapter 10. Setting Up Networking Services
$ r) O/ e( Z; @ Section 10.1. The Internet Super-Server
7 F7 K! \/ T! ]8 i" d f3 j Section 10.2. Remote Administration with SNMP . G% d2 l! D I; O
Section 10.3. Network Login Through Telnet 7 u% p* G( l7 M# D) e) _
Section 10.4. Secure Communication with SSH
9 U8 {& T0 [1 v2 y% O Section 10.5. Serving Web Content Through HTTP
- f$ ~1 K# N: b3 B, |! q Section 10.6. Dynamic Configuration Through DHCP " P7 h) Z2 }$ z! U& ~1 k
* ^+ d/ Y( |/ z7 D+ d `
Chapter 11. Debugging Tools
+ n2 l$ ]: l& T' V Section 11.1. Debugging Applications with gdb , n/ |* ]* g' W5 I4 Q7 ~0 |+ U
Section 11.2. Tracing
/ T! U6 J6 U6 ^7 J) k Section 11.3. Performance Analysis * U8 m8 R' ]5 K5 B9 U0 Q
Section 11.4. Memory Debugging
) [5 I; J7 T+ B Section 11.5. A Word on Hardware Tools $ Y, E# c8 U* u' z# F1 t
( u* B- n+ z! y+ c! E
Appendix A. Worksheet % O9 q+ E. d$ T) l' F! Z$ I. B( |
Section A.1. Project Identification
9 a) z. G+ a8 e8 w7 _ Section A.2. Hardware Summary 9 q9 _! ^ a. f
Section A.3. Development Tools
. c# \, S6 ]3 W. o7 J4 r2 E Section A.4. Kernel 8 z' n6 w) j! L/ b; q9 i4 L x
Section A.5. Root filesystem ) ?) ~7 Y4 a" n' k% p1 m
Section A.6. Storage Device Organization 7 X" T! O. P; ?
Section A.7. Bootloader Configuration and Use & B: a! n! @! F+ r% R1 [& l
Section A.8. Networking services
! p! [. e. A; d1 _* [" Y+ X7 w* U/ ~8 y Section A.9. Custom Project Software 9 _: x0 ?' ]4 w" K
Section A.10. Debug Notes
; x! h) \+ {7 Z5 N5 N+ J Section A.11. Additional Notes
, X- e0 n d4 L& o6 ]. t$ l0 T Section A.12. Embedded Linux Systems Worksheet + Z0 [2 x y5 s8 z3 G4 W5 u1 G
% @+ n2 m& H3 o! P
Appendix B. Resources 3 h' T/ s! S1 | F0 s7 F
Section B.1. Online 9 {' E" `& p2 F1 k( O3 u5 D
Section B.2. Books ! g6 K. {- P& Z, R! s
Section B.3. Publications
, d1 X" k/ [) P- y. C& ~: d Section B.4. Organizations
; _, p* J, Y7 B. P+ r1 Z8 L Section B.5. Linux and Open-Source-Oriented Hardware Projects 7 T" ?1 ]$ \5 ]& u' i1 i
' Y' @; Z6 ]0 ]( w Appendix C. Important Licenses and Notices ) |% }6 \0 }2 _- m1 ]9 a. ]& Y/ S
Section C.1. Exclusion of User-Space Applications from Kernel's GPL 6 O" Q- p6 ~6 t( G
Section C.2. Notices on Binary Kernel Modules
9 r4 B. M& Z2 P; f7 x/ {. C Section C.3. Legal Clarifications About the Kernel by Linus Torvalds |
|