第1章 搭建嵌入式Linux开发环境 1
1.1构建嵌入式Linux交叉开发环境 2
1.1.1搭建嵌入式交叉编译环境 2
1.1.2配置主机交叉开发环境 4
1.2 Bootloader 9
1.2.1 Bootloader的种类 9
1.2.2 U-Boot编译与使用 11
1.2.3 U-Boot移植 23
1.3 Linux内核与移植 24
1.3.1 Linux内核结构 25
1.3.2 Linux内核配置与编译 26
1.3.3 Linux内核移植的简介 29
1.4嵌入式文件系统构建 30
1.5本章小结 33
1.6本章习题 34
第2章 嵌入式文件I/O编程 35
2.1 Linux系统调用及用户编程接口(API) 36
2.1.1 Linux系统调用 36
2.1.2用户编程接口(API) 36
2.1.3系统命令 37
2.2 Linux文件I/O系统概述 37
2.2.1虚拟文件系统(VFS) 37
2.2.2 Linux中的文件及文件描述符 38
2.3底层文件I/O操作 39
2.3.1基本文件操作 39
2.3.2文件锁 43
2.3.3多路复用 48
2.4嵌入式Linux串口应用编程 54
2.4.1串口编程基础知识 54
2.4.2串口配置 55
2.4.3串口使用 64
2.5标准I/O编程 67
2.6实验内容 73
2.6.1文件读/写及上锁 73
2.6.2多路复用式串口操作 79
2.7本章小结 83
2.8本章习题 84
第3章 嵌入式Linux多任务编程 85
3.1 Linux下多任务机制的介绍 86
3.1.1任务 86
3.1.2进程 86
3.1.3线程 92
3.2进程控制编程 93
3.2.1进程编程基础 93
3.2.2 Linux守护进程 104
3.3实验内容 111
3.3.1编写多进程程序 111
3.3.2编写守护进程 116
3.4本章小结 118
3.5本章习题 119
第4章 嵌入式Linux进程间通信 120
4.1 Linux下进程间通信概述 121
4.2管道通信 122
4.2.1管道简介 122
4.2.2无名管道系统调用 123
4.2.3标准流管道 126
4.2.4有名管道(FIFO) 128
4.3信号通信 131
4.3.1信号概述 131
4.3.2信号发送与捕捉 133
4.4信号量 142
4.4.1信号量概述 142
4.4.2信号量编程 143
4.5共享内存 147
4.6消息队列 152
4.7实验内容 157
4.7.1有名管道通信实验 157
4.7.2共享内存实验 161
4.8本章小结 165
4.9本章习题 166
第5章 嵌入式Linux多线程编程 167
5.1多线程编程 168
5.1.1线程基本编程 168
5.1.2线程之间的同步与互斥 171
5.1.3线程属性 176
5.1.4多线程实验 180
5.2本章小结 185
5.3本章习题 185
第6章 嵌入式Linux网络编程 186
6.1 TCP/IP协议概述 187
6.1.1 TCP/IP的分层模型 187
6.1.2 TCP/IP分层模型的特点 188
6.1.3 TCP/IP核心协议 190
6.2网络编程基础 193
6.2.1套接字(socket)概述 193
6.2.2地址及顺序处理 193
6.2.3套接字编程 199
6.2.4编程实例 204
6.3网络高级编程 206
6.4实验内容——NTP协议的客户端实现 213
6.5本章小结 220
6.6本章习题 220
第7章 嵌入式Linux设备驱动编程 221
7.1设备驱动编程基础 222
7.1.1 Linux设备驱动概述 222
7.1.2 Linux内核模块编程 224
7.2字符设备驱动编程 234
7.2.1字符设备驱动编写流程 234
7.2.2重要的数据结构 234
7.2.3设备驱动程序主要组成 236
7.3 GPIO驱动程序实例 243
7.3.1 GPIO工作原理 243
7.3.2 GPIO驱动程序 244
7.4按键驱动程序实例 250
7.4.1中断编程 250
7.4.2按键工作原理 251
7.4.3按键驱动程序 252
7.4.4按键驱动的测试程序 259
7.5本章小结 261
7.6本章习题 261
第8章 Android应用编程 262
8.1 Android发展简史 263
8.2搭建Android应用开发环境 265
8.2.1 Android体系架构简介 265
8.2.2搭建Android应用开发环境 266
8.2.3编写第一个Android应用程序 269
8.3 Android的四大组件和Intent 274
8.3.1 Activity 274
8.3.2 Service 278
8.3.3 BroadcastReceiver 280
8.3.4 ContentProvider 281
8.3.5 Intent 281
8.4 Android常用图形界面组件 283
8.4.1 Android中的布局管理器(LinearLayout和RelativeLayout) 283
8.4.2 TextView 287
8.4.3 EditText 288
8.4.4 Button 290
8.4.5 ImageButton 292
8.4.6 ImageView 292
8.4.7 ProgressBar/SeekBar 292
8.5本章小结 296
8.6本章习题 296
第9章 Android播放器项目设计 297
9.1简易音乐播放器应用的需求 298
9.2界面设计 300
9.3播放器控制和播放功能的实现 302
9.4项目运行 307
9.5本章小结 319
9.6本章习题 319