第1章 引言 1
1.1嵌入式Linux的发展史 2
1.2为什么选择嵌入式Linux 5
1.3嵌入式Linux与桌面Linux之比较 7
1.4常见问题 8
1.5嵌入式Linux发行版 10
1.6移植方案 19
第2章 Linux简介 21
2.1嵌入式Linux的体系结构 21
2.2Linux内核结构 23
2.3用户空间 27
2.4Linux启动过程 30
2.5GNU交叉编译工具链 35
第3章 板级支持包 42
3.1编译内核过程中与BSP有关的工作 43
3.2bootloader接口 44
3.3内存映射 47
3.4中断管理 52
3.5PCI子系统 56
3.6定时器 59
3.7串口 59
3.8电源管理 60
第4章 嵌入式存储系统 64
4.1Flash映射 64
4.2MTD——存储技术设备 65
4.3MTD架构 67
4.4NORFlash的MTD驱动程序示例 69
4.5Flash映射驱动程序 79
4.6MTD字符设备和块设备 85
4.7Mtdutils软件包 86
4.8嵌入式文件系统 87
4.9优化存储空间 89
4.10内核的运行时内存调优 93
第5章 嵌入式设备驱动 96
5.1 Linux串口驱动程序 97
5.2以太网驱动程序 106
5.3 Linux中的I2C子系统 111
5.4 USB Gadget 117
5.5看门狗定时器 124
5.6内核模块 125
第6章 应用程序移植 128
6.1体系结构的对比 128
6.2应用程序移植路线图 129
6.3使用pthread编程 132
6.4操作系统移植层 141
6.5内核API驱动 149
第7章 实时Linux 157
7.1实时操作系统 157
7.2 Linux和实时性 158
7.3 Linux中的实时编程 163
7.4硬实时Linux 198
第8章 编译和调试 206
8.1编译内核 207
8.2编译应用程序 213
8.3编译根文件系统 216
8.4集成开发环境 218
8.5调试虚拟内存问题 220
8.6内核调试器 229
8.7性能评价 231
第9章 嵌入式系统中的图形子系统 243
9.1图形系统 243
9.2 Linux桌面图形——X图形系统 244
9.3显示硬件介绍 246
9.4嵌入式Linux系统中的图形 248
9.5嵌入式Linux图形驱动程序 248
9.6窗口环境,工具包和应用程序 264
9.7小结 268
第10章uClinux 269
10.1无MMU系统上的Linux 269
10.2程序装载和执行 271
10.3内存管理 283
10.4文件/内存映射——uClinux中mmap()函数的复杂性 287
10.5进程创建 288
10.6共享库 289
10.7往uClinux上移植应用程序 292
10.8 XIP片内执行 298
10.9编译uClinux发行版 298
附录A 快速启动 301
附录B GPL与嵌入式Linux 304