|
Java电子书:嵌入式Linux应用开发完全手册 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
! i9 R1 a. Z" l/ ]$ N& Z
, L0 n4 Q4 O1 L3 {4 ?3 b
+ t% ~/ t+ X; s. ?2 g' M/ l& i编号:mudaima-P0321【Java吧 java8.com】
' j3 \+ T1 s4 O* O: T; @& G) a; ?* U; {6 }- B6 [( c( w
' v% v: \: P- A$ j4 j# ]
/ C: ?/ t; J9 V. O( bJava电子书目录:第 1篇 嵌入式Linux开发环境构建篇2 l# x% t/ u( b8 S# b* q" `5 \
( X7 t6 D& a# D4 j
第 1章 嵌入式Linux开发概述 2
( ^; v& S: ~+ N1.1 嵌入式系统介绍 2
) T+ f- {/ f: D8 N1.1.1 嵌入式系统的定义和特点 2
. V) O. v; d6 r! e+ c) L1.1.2 嵌入式技术的发展历史 3
& w. l4 v, D/ I. h1.2 基于ARM处理器的嵌入式Linux系统 5
! g B! |/ f2 h1 G' y9 a1.2.1 ARM处理器介绍 5
: U5 O, k+ t4 T4 S$ P$ D/ X1.2.2 在嵌入式系统中选择嵌入式Linux的理由 8
" M# H0 d5 R- W+ |
% d1 T4 q4 |/ g; p7 f! G第 2章 嵌入式Linux开发环境构建 10
2 e- J( h# E7 w# C% L' n2.1 硬件环境构建 10
- r. c7 c3 ]' K( Q9 k2.1.1 主机与目标板结合的交叉开发模式 10
1 F! u' T n8 ~2.1.2 硬件要求 112 h3 b5 z! D) y5 U
2.2 软件环境构建 12
( m H9 g7 T# ~8 y0 v2.2.1 主机Linux操作系统的安装 12: t1 @) f, h! J7 K |0 }+ ^0 p
2.2.2 主机Linux操作系统上网络服务的配置与启动 18
1 x% q. F7 i+ e' A2.2.3 在主机Linux操作系统中安装基本的开发环境 23: @( H+ p/ N4 }0 |; j6 f( Z+ E
2.2.4 光盘的内容结构及安装 23
" v% f5 B9 ^$ L2 G4 _2.2.5 安装交叉编译工具链 25/ j- X% |/ s4 r" m$ d. {
2.2.6 书中写作风格的约定 28
- A6 v4 h9 n! ~( A$ O2 g; M. o& C! Q; [/ J9 l) b- ]4 W
第3章 嵌入式编程基础知识 29
3 ~5 x B# @: O# @$ l3.1 交叉编译工具选项说明 29% N5 L* X* r4 @/ I* ]- [! [7 Z
3.1.1 arm-linux-gcc选项 29
. L* V9 \* |) o) f3.1.2 arm-linux-ld选项 38
5 f. S$ G' b9 N6 l+ f* m3.1.3 arm-linux-objcopy选项 41
3 Q4 D& j4 X- [+ t3.1.4 arm-linux-objdump选项 43
8 l5 r4 o6 m" x, b% S5 s' p3.1.5 汇编代码、机器码和存储器的关系以及数据的表示 44
! K6 p" i: ]; \/ q3.2 Makefile介绍 45
+ G6 L2 j) V3 U) d3.2.1 Makefile规则 452 O) A, Y' m% U; \* o3 C
3.2.2 Makefile文件里的赋值方法 46
/ e7 R% E* R `9 k" m8 `6 e/ z' X3.2.3 Makefile常用函数 46
- C$ j2 }; U$ T5 |+ x, I+ ]3.3 常用ARM汇编指令及ATPCS规则 52& A$ k. s/ Q0 I* I% c" ~5 s
3.3.1 本书使用的所有汇编指令 52% u( G6 k l1 c0 ^
3.3.2 ARM-THUMB子程序调用规则ATPCS 55
0 n$ G4 k5 Z4 E
) b3 I6 a: _: A, P! Z& I第4章 Windows、Linux环境下相关工具、命令的使用 58: O9 u: H7 e( n0 v" \
4.1 Windows环境下的工具介绍 58
1 T- c5 f2 c6 Q7 W: `" p1 U4.1.1 代码阅读、编辑工具Source Insight 585 y" V+ \! K9 r
4.1.2 文件传输工具Cuteftp 63
. N' C* P7 r0 L6 f5 w4.1.3 远程登录工具SecureCRT 63% U8 [! m8 \5 \1 E" G/ k
4.1.4 TFTP服务器软件Tftpd32 64
, d1 _! }1 ]# T) V" h/ g- Q4.2 Linux环境下的工具、命令介绍 65
- \: h6 ]* U; @ L4.2.1 代码阅读、编辑工具KScope 65
; Y. ]& G, w. @, f9 d H4.2.2 远程登录工具C-kermit 69. T+ s2 s. V' v6 U2 Y
4.2.3 编辑命令vi 69
/ a! \* b+ M7 B! h4.2.4 查找命令grep、find命令 71
- _! ~6 g8 I# O K' V4.2.5 在线手册查看命令man 72
+ i+ G9 P* g/ ^# i0 v4.2.6 其他命令:tar、diff、patch 73* D4 Q6 L! `1 Y( Z2 _5 X
, C: r: \2 w8 d9 ^! d& G: {' ~* v2 s第 2篇 ARM9嵌入式系统基础实例篇& E/ d4 a, {, i* A$ I
* h E1 C; ^: ~7 R9 M9 l
第5章 GPIO接口 76
1 L' f8 @& p& v0 \5 v( o# ^& K5.1 GPIO硬件介绍 76
: ~2 X" N( u& S8 ^4 P3 ]4 \6 S5.1.1 通过寄存器来操作GPIO引脚 765 Q1 j, E/ A/ M7 ]2 V
5.1.2 怎样使用软件来访问硬件 77
7 [7 }0 r& m% x3 i5.2 GPIO操作实例:LED和按键 80
$ ~ B9 Y' y) Y0 b' m* H- _0 `* z5.2.1 硬件设计 80
4 [0 S8 ^, I8 \7 C- K4 X- a5 X1 P5.2.2 程序设计及代码详解 80' r- L( s% A4 J4 y2 J
5.2.3 实例测试 86. v+ \. n0 D% K
% j+ ^1 b# \+ E+ A4 u) b第6章 存储器控制 87
; n; c1 I7 E% l( j6.1 使用存储控制器访问外设的原理 87
9 x0 J7 |: W) R; \! M6.1.1 S3C2410 S3C2440的地址空间 870 _) ]& }- \8 l4 y: R5 \
6.1.2 存储控制器与外设的关系 89
5 I; ]( }. f8 H& `- R- }6.1.3 存储控制器的寄存器使用方法 914 f% s2 w- Y( y c+ l! W O# r4 G" h
6.2 存储控制器操作实例:使用SDRAM 94( u. _- n+ c' V. L3 A6 Z
6.2.1 代码详解及程序的复制、跳转过程 94* g1 g' x' R% N' \0 k' t6 V
6.2.2 实例测试 97; |+ H! N; S! b' S+ C p
4 l' c3 Z5 U" }; |第7章 内存管理单元MMU 98
8 a" u, y: V1 X, f* ]0 {/ F7.1 内存管理单元MMU介绍 989 @# Z6 C9 W+ a. m. W" T! g
7.1.1 S3C2410 S3C2440 MMU特性 98/ y. |# X6 w: s& y" d4 ~
7.1.2 S3C2410 S3C2440 MMU地址变换过程 99& s$ _$ ~' S* @: v6 D' G7 e
7.1.3 内存的访问权限检查 107* [8 z9 z5 ^2 w% x6 E0 N- P, z; Z
7.1.4 TLB的作用 109: V) A5 v9 W A
7.1.5 Cache的作用 110$ E8 b; k' b. b! T( v
7.1.6 S3C2410 S3C2440 MMU、TLB、Cache的控制指令 1130 d R' y! I3 ~; P: A! q
7.2 MMU使用实例:地址映射 113) R! E+ e2 s5 w6 P; P. I3 @7 {; X
7.2.1 程序设计 113, u$ D9 E% c4 C: \" b2 \) M# @! m2 l6 Q
7.2.2 代码详解 114
( u1 \# Z4 M. m L' f8 s7 }7.2.3 实例测试 124
2 [! ]4 N+ T6 C: x) {: e: K3 N1 x y s5 m3 a
第8章 NAND Flash控制器 125
& { I* n+ \5 p Q8 p8.1 NAND Flash介绍和NAND Flash控制器使用 125
# b$ T6 l1 g* ]2 }8.1.1 Flash介绍 125: a$ N) k" e( }+ x4 @( b8 M) M
8.1.2 NAND Flash的物理结构 127
* y2 D2 l B3 C/ `: O, f e i) c8.1.3 NAND Flash访问方法 128
; ?$ J" O* V; @, [2 }1 E8.1.4 S3C2410 S3C2440 NAND Flash控制器介绍 134
; Y9 i* w" n( e0 u# y7 y; S8.2 NAND Flash控制器操作实例:读Flash 1350 B5 M! A5 h+ c( t4 ], @; m
8.2.1 读NAND Flash的步骤 135/ S. t0 m4 s0 P3 n9 `# X
8.2.2 代码详解 137
; q& G" j: u' t. J- J0 }" H5 d0 @
6 K6 ^" B; t6 ]. [& z: _第9章 中断体系结构 143) e8 z# [2 P! N8 H/ Y& _$ v8 _
9.1 S3C2410 S3C2440中断体系结构 1436 ?5 W4 h: o2 T% K P8 `
9.1.1 ARM体系CPU的7种工作模式 143
- O0 O* p8 ]3 Z: A+ \2 h, {1 x9.1.2 S3C2410 S3C2440中断控制器 146
$ r3 k- E5 @6 d+ H- |9.1.3 中断控制器寄存器 149
$ b+ I+ f5 W1 N) ^. q' O: l! H9.2 中断控制器操作实例:外部中断 1516 f* J% V. W0 h2 @, l2 x
9.2.1 按键中断代码详解 151- F, i2 E/ A& U7 M$ [
9.2.2 实例测试 158) a/ Q8 w6 Q! @: |" o$ w$ M. v
% \& q% d- L0 o
第 10章 系统时钟和定时器 1597 a8 T9 p" U3 o1 Y' G% Z; f" [$ P7 G3 h
10.1 时钟体系及各类时钟部件 1597 L0 z3 U. i0 ~6 K7 h9 A1 W6 y
10.1.1 S3C2410 S3C2440时钟体系 159- A4 P, x7 u$ U& S! V# t3 h
10.1.2 PWM定时器 161
! H- H3 ?7 r1 Y10.1.3 WATCHDOG定时器 164
5 W' h8 P% B) L* T* ~* i0 C10.2 MPLL和定时器操作实例 166
3 k u! S( M( }1 G3 R3 l6 W10.2.1 程序设计 166
: F! P/ v# L) y10.2.2 代码详解 166( V7 O( w- R5 J
10.2.3 实例测试 170( Y- `5 ]9 L& R* h( k6 w3 ~
' w6 r$ l( m; f
第 11章 通用异步收发器UART 171: _- o8 K+ S+ q& _# Z* d2 z
11.1 UART原理及UART部件使用方法 171! j, v/ s3 A/ C: {
11.1.1 UART原理说明 171
( Q8 y+ z$ d# R7 U11.1.2 S3C2410 S3C2440 UART的特性 1723 C. V. K) J& y( ^& p% x; {
11.1.3 S3C2410 S3C2440 UART的使用 173
4 u; W: a7 ?. j9 {, i" ^: s11.2 UART操作实例 1774 }" T% d% L; u+ Q% V
11.2.1 代码详解 177/ C/ D0 u. i" d! s( W
11.2.2 实例测试 180% l( E3 x1 u2 c* \8 v/ Q
4 R E8 k) K3 t9 g2 C! l第 12章 I*IC接口 181
5 F: @* Z) Y2 s; w* @12.1 I*IC总线协议及硬件介绍 181
# g/ k! k$ S: K0 j, s5 r. \5 x12.1.1 I*IC总线协议 181
. h3 I/ a- H7 R# F# c- a8 Y12.1.2 S3C2410 S3C2440 I*IC总线控制器 184
$ i3 Z% x6 X- F12.2 I*IC总线操作实例 187
9 D# C M9 K9 p" y( X7 g' Z- ~; N12.2.1 I*IC接口RTC芯片M41t11的操作方法 187& i7 c% {9 X8 {3 T- C! @ q( h
12.2.2 程序设计 188
; a+ C; `8 `6 O6 @* N12.2.3 设置 读取M41t11的源码详解 188
7 G, G" Q6 R. [8 ^9 _12.2.4 I*IC实例的连接脚本 1951 M" n2 n S X( N6 j
12.2.5 实例测试 196
3 d4 S, R, ~* B; ^' x
. o: j7 P9 o2 Z5 ]! K9 D第 13章 LCD控制器 197" F: g1 B+ f5 y% D+ r1 G- K; N! {
13.1 LCD和LCD控制器 1976 F# E; D* ^" K6 P+ [+ ~5 e: q
13.1.1 LCD显示器 197
- U3 B0 R" `% Q9 J13.1.2 S3C2410 S3C2440 LCD控制器介绍 1998 t* }$ \. |4 D* [3 a+ S' D
13.2 TFT LCD显示实例 2105 o" }5 n3 P. o6 ~# j- S. Z
13.2.1 程序设计 210
. Y' P8 i: N* p7 p! z7 \13.2.2 代码详解 210
3 K% g6 P7 x q8 n7 X) ^% c; H: f13.2.3 实例测试 221/ O+ Y9 k3 ?" l5 R2 L
9 C& X7 o" s0 i/ w; d9 [; l第 14章 ADC和触摸屏接口 222
# X/ L5 J& n: q9 o1 {' T14.1 ADC和触摸屏硬件介绍及使用 222+ P" ~' L6 ^9 T4 Z% T
14.1.1 S3C2410 S3C2440 ADC和触摸屏接口概述 222: A/ [& q3 `; K2 Q% Q" ^
14.1.2 S3C3410 S3C2440 ADC接口的使用方法 224" a4 V3 a0 i. f$ c, a ^
14.1.3 触摸屏原理及接口 2268 R, @( r# j" s! z( T* H
14.2 ADC和触摸屏操作实例 230
" ~5 [4 v' q5 E2 n& Y14.2.1 硬件设计 230
9 \* U$ ^/ g+ W1 U# m8 ` e14.2.2 程序设计 230; e& q- T0 d# G+ c r
14.2.3 测试ADC的代码详解 230+ x* w; g4 s5 g
14.2.4 测试触摸屏的代码详解 232! p- ]: s R( K ]- f. E, t
14.2.5 实例测试 2375 L8 G0 a' m; d7 j. m" d
3 _/ C1 L$ Z$ o9 T& [第3篇 嵌入式Linux系统移植篇
0 I6 ^0 [. s. k0 C
: j0 q8 f2 _! z! s9 g( x第 15章 移植U-Boot 240
% u; F; p5 p8 h z( ?15.1 Bootloader简介 240
! i- w* f. M% h' l$ m$ @2 v15.1.1 Bootloader的概念 240
" C; D2 h6 w) @- u15.1.2 Bootloader的结构和启动过程 2412 `( P0 ?2 R# H7 f( Q0 K2 q. K
15.1.3 常用Bootloader介绍 2462 z% l) d. \! q
15.2 U-Boot分析与移植 246# Z! u* A2 |; e+ S: C* a. G+ k
15.2.1 U-Boot工程简介 246
/ Y' e, c' Z4 k; l7 P15.2.2 U-Boot源码结构 2476 M2 y4 O- u, o. S3 b, D" V$ U( H
15.2.3 U-Boot的配置、编译、连接过程 2495 p7 N7 M' W; ~$ M+ F
15.2.4 U-Boot的启动过程源码分析 257
( v6 s$ H8 T: o15.2.5 U-Boot的移植 2641 m8 S7 r p# ]$ w8 I
15.2.6 U-Boot的常用命令 288
5 |5 N3 Z5 d3 r! ]- m8 F, l15.2.7 使用U-Boot来执行程序 292
8 a6 z" M4 p2 @ E; ^
0 p6 Y: T1 m7 O5 f5 w第 16章 移植Linux内核 293
+ `1 M4 M5 p9 M8 R9 ^16.1 Linux版本及特点 293. g. L/ R9 R9 x3 n
16.2 Linux移植准备 294
8 s1 L# B2 P% r) W7 J& z0 }9 j16.2.1 获取内核源码 294/ x. x) w- a6 l; R
16.2.2 内核源码结构及Makefile分析 295% V6 [ Z' o8 l# S1 c
16.2.3 内核的Kconfig分析 304
1 V6 `$ H. O& ]5 A$ l( I% k/ ?# Y16.2.4 Linux内核配置选项 309* M3 R( H& F$ U
16.3 Linux内核移植 313- R, o, o- f* B2 T
16.3.1 Linux内核启动过程概述 3130 E6 L+ A4 Q' U8 J
16.3.2 修改内核以支持S3C2410 S3C2440开发板 3140 S+ }9 z' X9 k- i0 P4 R
16.3.3 修改MTD分区 327; K: j }) f2 J9 _" r- R4 u3 b
16.3.4 移植YAFFS文件系统 330, s8 E- V& h$ Y: c* c" |
16.3.5 编译、烧写、启动内核 333& U0 E# v9 k1 }8 i* O
: Q& F( k5 v9 |( F) b5 |第 17章 构建Linux根文件系统 335
4 @ I2 b1 `" O+ l0 M, |/ T17.1 Linux文件系统概述 335
2 K) G, }# _0 V2 P! r* X0 t! ~# ~17.1.1 Linux文件系统的特点 335 w& _! r3 P' ~ e
17.1.2 Linux根文件系统目录结构 336# L. Z8 t0 ~3 G T' W" K
17.1.3 Linux文件属性介绍 3401 `' W& E7 j$ C6 R4 B5 m( e& Z
17.2 移植Busybox 341
+ C6 s' W; t% `6 d' r. k1 }) n& g17.2.1 Busybox概述 341
& \% }7 R0 O" `9 i0 @' W7 E17.2.2 init进程介绍及用户程序启动过程 342
) d1 D9 ~) [4 y( l3 d6 F- c0 R17.2.3 编译 安装Busybox 346$ _- M' m7 v7 v9 k* t
17.3 使用glibc库 350
8 {: `4 z# J/ [" e17.3.1 glibc库的组成 350
# O' T" j8 ]* W( I$ ^9 a0 t17.3.2 安装glibc库 351
9 I! k4 n/ b" q; ^ m$ Y6 w17.4 构建根文件系统 352
2 @2 ]9 i; `# m% u1 l) a t8 S" K17.4.1 构建etc目录 3524 I5 W$ C4 N9 Q+ j: Y+ n9 r
17.4.2 构建dev目录 3549 v$ f; h9 I+ k0 l; W/ s6 N8 i6 u
17.4.3 构建其他目录 356
- h G C% q5 \, s17.4.4 制作 使用yaffs文件系统映象文件 356
9 t' C6 q: ?6 {0 n8 D17.4.5 制作 使用jffs2文件系统映象文件 360
! W% ^9 v' v& w2 @' g0 K: t
2 P5 q$ I- Z# D$ D) ?第 18章 Linux内核调试技术 362
- J7 Z: C0 a5 f/ h; A- v18.1 内核打印函数printk 362
4 e$ I5 s; _9 D) t" ?# Q18.1.1 printk的使用 362
2 |5 e2 B7 c5 d4 J4 Y18.1.2 串口控制台 3641 v( C5 V8 E7 E* M7 A
18.2 内核源码级别的调试方法 366" ], `0 |1 D4 C
18.2.1 内核调试工具KGDB的作用与原理 366
- S3 p! G1 v" p9 `5 u2 y. A) p18.2.2 给内核添加KGDB功能支持S3C2410 S3C2440 367. b# q' w% c" X( x
18.2.3 结合可视化图形前端DDD和gdb来调试内核 372
( f$ j" ~- G! k9 D$ A5 z18.3 Oops信息及栈回溯 375
# `6 |) [7 N6 Z, B7 Y. \5 U$ w18.3.1 Oops信息来源及格式 375
, ~1 N# p" f" t9 N* N8 B6 u18.3.2 配置内核使Oops信息的栈回溯信息更直观 376
8 {0 F" ^- D! G& }8 V7 b: L18.3.3 使用Oops信息调试内核的实例 376
# j' v+ E; V: L8 a18.3.4 使用Oops的栈信息手工进行栈回溯 380
+ j7 [$ G" R# e* q2 e) e! ~, Y+ F: ?4 N& b/ c
第4篇 嵌入式Linux设备驱动开发篇) z. Q) }3 z; ]3 {2 R! e$ _! H
$ ?# o( F9 l. T" x- z: m
第 19章 字符设备驱动程序 3840 W" r$ K$ |, W V% d$ y
19.1 Linux驱动程序开发概述 384
& Q6 P6 K1 [9 [6 J1 {- L1 ]( }19.1.1 应用程序、库、内核、驱动程序的关系 384
: c7 F \2 I+ ?19.1.2 Linux驱动程序的分类和开发步骤 385
, a+ h7 e- f1 n4 U9 V19.1.3 驱动程序的加载和卸载 387. u4 a- C% F5 Y/ C
19.2 字符设备驱动程序开发 3879 o3 |& z9 z4 Z T- `7 g
19.2.1 字符设备驱动程序中重要的数据结构和函数 387/ {) t2 e, X. k: j# `
19.2.2 LED驱动程序源码分析 389
. h. B4 _, c$ E7 T* {
. i: D: r# x( {第 20章 Linux异常处理体系结构 396; H4 h9 Y% _% L4 j2 @! ^$ S
20.1 Linux异常处理体系结构概述 396
3 X- b* Y* y. p0 C' A20.1.1 Linux异常处理的层次结构 396
& X% I+ Q, w& }1 ^20.1.2 常见的异常 400 c. N) L$ ]7 C
20.2 Linux中断处理体系结构 401
# y [) ?+ ?- x20.2.1 中断处理体系结构的初始化 4012 i4 A0 r4 q4 F, l$ j/ |9 {6 _
20.2.2 用户注册中断处理函数的过程 404
+ x5 w# L- R( w) @- }! U20.2.3 中断的处理过程 406
6 q# N: f* D; Y- p1 i2 N20.2.4 卸载中断处理函数 409
- N7 g: |/ f1 H( u1 r7 J20.3 使用中断的驱动程序示例 410+ U1 s/ l" z N$ k( j+ e
20.3.1 按键驱动程序源码分析 410
9 N3 H2 i- s1 e) D7 @/ ~% O$ `$ q20.3.2 测试程序情景分析 415, e7 t, e3 B% X5 W8 l4 G7 h% p- O
3 h1 o) N9 }* A8 w1 T: b/ B4 W
第 21章 扩展串口驱动程序移植 419
0 u5 X- r7 u3 e6 K: Q/ ]21.1 串口驱动程序框架概述 419
$ j) U) Y$ ]" S* i6 H8 S21.1.1 串口驱动程序术语介绍 419( e$ k; T: }0 h) t3 H4 ?
21.1.2 串口驱动程序的4层结构 420% R1 E; W: Q: T* b9 K! h
21.2 扩展串口驱动程序移植 423& X; I* U. ~% M/ s' g) t
21.2.1 串口驱动程序低层代码分析 4237 N8 P3 z. L. v& F
21.2.2 修改代码以支持扩展串口 425
* R( Q7 e7 N" j' R0 U" H9 T21.2.3 测试扩展串口 429
5 f" w* Y" H" _4 ^3 v+ x1 s( q! ?1 u! i/ o0 I$ s
第 22章 网卡驱动程序移植 4319 J/ r# p# s2 m) n) ]
22.1 CS8900A网卡驱动程序移植 431
: Z' t- X! h' m! g/ h) h22.1.1 CS8900A网卡特性 431
2 g, l v% \" V) B/ T8 z7 v22.1.2 CS8900A网卡驱动程序修改 432
% J6 ?# c _$ g* U+ h5 u22.2 DM9000网卡驱动程序移植 441
# ~- s- W Y1 Y2 C9 d6 c22.2.1 DM9000网卡特性 441
- F% ~0 N7 {$ f8 b3 E22.2.2 DM9000网卡驱动程序修改 442
" y4 a8 C4 i! Z$ t/ j
# B% n$ ~& y) l7 P4 V( J第 23章 IDE接口和SD卡驱动程序移植 450; U" T8 ^* E# p2 R) n3 c
23.1 IDE接口驱动程序移植 450
9 r- C0 _3 N, \2 Z4 y23.1.1 IDE接口相关概念介绍 450
( j W3 \/ [& P" M( E23.1.2 IDE接口驱动程序移植 452
" e4 C/ x% x1 [3 h9 L23.1.3 IDE接口驱动程序测试 461
+ J4 b! Y& U* ^+ d* D23.2 SD卡驱动程序移植 464: a* l; T9 @/ }; m+ x6 F, A8 o$ Q; U
23.2.1 SD卡相关概念介绍 4642 E: a. u* k" ~# |
23.2.2 SD卡驱动程序移植 465
4 K+ C+ T" p# c7 L& O23.2.3 SD卡驱动程序测试 4722 ^% b9 V, v0 L; A) K
23.2.4 磁盘分区表 473% C: \& y3 | k; K- }
) r6 M* {! b" u6 H8 S8 G3 f& s& O R) ~
第 24章 LCD和USB驱动程序移植 475
: C: ^( d, K5 g6 J8 s; ?- O24.1 LCD驱动程序移植 475
, X3 |" e9 m& A! J& |24.1.1 LCD和USB键盘驱动程序框架 475
. `4 n' y }+ b z1 V24.1.2 S3C2410 S3C2440 LCD控制器驱动程序移植 479/ k! o5 R8 x+ t6 w% k' ?# T
24.2 USB驱动程序移植 489
K S: O ?4 E" s3 I/ E8 S24.2.1 USB驱动程序概述 489! x3 z: B. X3 v3 g/ k0 n% \
24.2.2 配置内核支持USB键盘、USB鼠标和USB硬盘 491
7 G/ [$ I9 ?( p0 b! @24.2.3 USB设备的使用 4925 |8 H/ n/ i3 i9 {( Z2 @6 |0 x0 E5 u
' I* r4 k9 r/ _3 K0 C6 o B- f
第5篇 嵌入式Linux系统应用开发篇
" G! ~: ?4 o/ J N, l1 I+ x' Y& q, O3 {
第 25章 嵌入式GUI开发 496
2 ], w j+ H2 A25.1 嵌入式GUI介绍 496
7 x( }+ R1 I9 @2 H25.1.1 Linux桌面GUI系统的发展 496
3 c3 Q2 y" H: p+ A- N4 c25.1.2 嵌入式Linux中的几种GUI 499
4 \& Z% A( S+ \( I& C9 {! v25.2 Qtopia移植 501
0 F* \) V4 D1 v i$ T25.2.1 主机开发环境的搭建 501) m$ x$ }2 Z0 m( A. O6 ~( ~' Q! n
25.2.2 交叉编译、安装Qtopia 2.2.0 502
2 a$ V. T e) ^25.2.3 开发自己的Qt GUI程序 514) ^) v. R l/ L) X4 L) r
25.2.4 在主机上使用模拟软件开发、调试嵌入式Qt GUI程序 5180 O' ^3 O g8 _) {/ G: o/ O. G3 l' \
: S9 K$ D+ u& K" l" J
第 26章 基于X的GUI开发 524- x$ `* K! u! {: l
26.1 X Window概述 524
( V. v8 K' i1 b. K: l) y! Q26.1.1 X协议介绍 524
8 r1 _3 B" }' ^" ]26.1.2 窗口管理器(Window manager) 526- f* a, w2 U! t) e M$ U
26.1.3 桌面环境(Desktop environment) 526$ ?7 {7 a, L0 {; G V: x J
26.2 交叉编译工具包Scratchbox 5266 ~6 D9 e- W4 M* T H8 W
26.2.1 Scratchbox介绍 527; `. T/ n8 @; V& y
26.2.2 安装Scratchbox及编译工具 528
4 m2 D1 f: `) e; X0 N! k26.2.3 在Scratchbox里安装交叉编译工具链 529+ c: g7 \1 J6 h9 I9 _- F& M1 f" S
26.2.4 安装其他开发工具 535$ N( `0 T+ Q1 R* v
26.3 移植X 536
: i* E6 V7 T4 ]26.3.1 编译软件的基本知识 536: |$ d- H, G( t$ {9 @
26.3.2 编译X的依赖软件 539+ ^& X8 m z O3 a3 ?
26.3.3 编译Xorg 542
1 Q8 |& ?2 P8 n! @2 Q: u: h26.4 移植Matchbox 5478 [1 H7 v( v# T: h) r! g1 M4 m
26.4.1 下载源代码 548
1 F7 \8 w" G6 q% ?. D26.4.2 编译Matchbox 548# d; B+ n, I0 K; c! {% L
26.4.3 运行、试验Matchbox 550. g$ D* _6 y* l
26.5 移植GTK 553
: T: Q% H p8 J7 c& D26.5.1 GTK 介绍 5538 g5 O% K/ P* C5 `5 C
26.5.2 GTK 移植 5537 N) G; c/ A x; V
26.6 移植基于GTK X的GUI程序 555 ?" W0 A; Q2 o3 u
26.6.1 xterm移植 556
+ y% E5 U+ a8 D' p26.6.2 gtkboard移植 557/ p5 r1 _) P! f3 y" y7 i
26.6.3 裁剪文件系统 560
6 p7 b! Z+ n3 q: c3 G; O1 ijava8.com
* p/ x( S4 K& k0 k# D6 P9 N% y( d第 27章 Linux应用程序调试技术 5644 F& N$ ~5 M2 `8 q
27.1 使用strace工具跟踪系统调用和信号 564
* n9 n2 F! U3 N5 \27.1.1 strace介绍及移植 564' x* @0 @7 k5 n4 l- v. r% S0 J" I
27.1.2 使用strace来调试程序 565
4 _2 Z& g9 G! p/ E/ X27.2 内存调试工具 5684 C& u5 F9 ^$ b; T% x! n
27.2.1 使用memwatch进行内存调试 5689 s) f) s* g f
27.2.2 其他内存工具介绍:mtrace、dmalloc、yamd 571
/ L% Y+ A7 b7 v* j. o27.3 段错误的调试方法 573
b/ g0 S8 h; B' H8 o) p" f27.3.1 使用库函数backtrace和backtrace_symbols定位段错误 573
9 k+ k: S! ]' t$ x$ n27.3.2 段错误调试实例 574' e, I9 G% D2 W( j* q6 _ [
, L4 ^# G/ Y, Z* W' S9 Z( ?百度云盘下载地址(完全免费-绝无套路):4 Q2 p& [# W/ g5 f! {" F8 _) ], `
; ?. y% V3 |. j/ f$ i |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|