《嵌入式Linux应用程序开发标准教程》目 录
第1章 Linux快速入门 1
1.1 嵌入式Linux基础 1
1.1.1 Linux发展概述 2
1.1.2 Linux作为嵌入式操作系统的优势 3
1.1.3 Linux发行版本 4
1.1.4 如何学习Linux 5
1.2 Linux安装 5
1.2.1 基础概念 5
1.2.2 硬件需求 7
1.2.3 安装准备 7
1.3 Linux文件及文件系统 8
1.3.1 文件类型及文件属性 8
1.3.2 文件系统类型介绍 10
1.3.3 Linux目录结构 10
1.4 实验内容——安装Linux操作系统 13
1.5 本章小结 13
1.6 思考与练习 14
第2章 Linux基础命令 15
2.1 Linux常用命令 15
2.1.1 用户系统相关命令 16
2.1.2 文件相关命令 23
2.1.3 压缩打包相关命令 34
2.1.4 文件比较合并相关命令 37
2.1.5 网络相关命令 41
2.2 Linux启动过程详解 46
2.2.1 概述 46
2.2.2 内核引导阶段 47
2.2.3 init阶段 48
2.3 Linux系统服务 50
2.3.1 独立运行的服务 51
2.3.2 xinetd设定的服务 51
2.3.3 系统服务的其他相关命令 52
2.4 实验内容 53
2.4.1 在Linux下解压常见软件 53
2.4.2 定制Linux系统服务 54
2.5 本章小结 55
2.6 思考与练习 56
第3章 Linux下C编程基础 57
3.1 Linux下C语言编程概述 57
3.1.1 C语言简单回顾 57
3.1.2 Linux下C语言编程环境概述 58
3.2 常用编辑器 59
3.2.1 进入vi 59
3.2.2 初探emacs 62
3.3 gcc编译器 67
3.3.1 gcc编译流程解析 67
3.3.2 gcc编译选项分析 70
3.4 gdb调试器 75
3.4.1 gdb使用流程 75
3.4.2 gdb基本命令 79
3.5 make工程管理器 83
3.5.1 makefile基本结构 84
3.5.2 makefile变量 84
3.5.3 makefile规则 87
3.5.4 make管理器的使用 88
3.6 使用autotools 89
3.6.1 autotools使用流程 89
3.6.2 使用autotools所生成的makefile 93
3.7 实验内容 94
3.7.1 vi使用练习 94
3.7.2 用gdb调试程序的bug 96
3.7.3 编写包含多文件的makefile 98
3.7.4 使用autotools生成包含多文件的makefile 99
3.8 本章小结 101
3.9 思考与练习 102
第4章 嵌入式系统基础 103
4.1 嵌入式系统概述 103
4.1.1 嵌入式系统简介 103
4.1.2 嵌入式系统发展历史 104
4.1.3 嵌入式系统的特点 105
4.1.4 嵌入式系统的体系结构 105
4.1.5 几种主流嵌入式操作系统分析 106
4.2 ARM处理器硬件开发平台 108
4.2.1 ARM处理器简介 108
4.2.2 ARM体系结构简介 110
4.2.3 ARM9体系结构 110
4.2.4 S3C2410处理器详解 113
4.3 嵌入式软件开发流程 118
4.3.1 嵌入式系统开发概述 118
4.3.2 嵌入式软件开发概述 118
4.4 实验内容——使用JTAG烧写Nand Flash 123
4.6 本 章 小 结 126
4.5 思考与练习 126
第5章 嵌入式Linux开发环境的搭建 127
5.1 嵌入式开发环境的搭建 127
5.1.1 嵌入式交叉编译环境的搭建 127
5.1.2 超级终端和minicom配置及使用 129
5.1.3 下载映像到开发板 134
5.1.4 编译嵌入式Linux内核 137
5.1.5 Linux内核源码目录结构 140
5.1.6 制作文件系统 140
5.2 U-Boot移植 145
5.2.1 Bootloader介绍 145
5.2.2 U-Boot概述 147
5.2.3 U-Boot源码导读 148
5.2.4 U-Boot移植主要步骤 154
5.3 实验内容——创建Linux内核和文件系统 163
5.4 本章小结 164
5.5 思考与练习 164
第6章 文件I/O编程 165
6.1 Linux系统调用及用户编程接口(API) 165
6.1.1 系统调用 165
6.1.2 用户编程接口(API) 166
6.1.3 系统命令 166
6.2 Linux中文件及文件描述符概述 166
6.3 底层文件I/O操作 167
6.3.1 基本文件操作 167
6.3.2 文件锁 171
6.3.3 多路复用 176
6.4 嵌入式Linux串口应用编程 185
6.4.1 串口概述 185
6.4.2 串口设置详解 186
6.4.3 串口使用详解 196
6.5 标准I/O编程 200
6.5.1 基本操作 200
6.5.2 其他操作 204
6.6 实验内容 206
6.6.1 文件读写及上锁 206
6.6.2 多路复用式串口操作 213
6.7 本章小结 218
6.8 思考与练习 218
第7章 进程控制开发 219
7.1 Linux进程概述 219
7.1.1 进程的基本概念 219
7.1.2 Linux下的进程结构 221
7.1.3 Linux下进程的模式和类型 221
7.1.4 Linux下的进程管理 221
7.2 Linux进程控制编程 222
7.3 Linux守护进程 234
7.3.1 守护进程概述 234
7.3.2 编写守护进程 234
7.3.3 守护进程的出错处理 238
7.4 实验内容 241
7.4.1 编写多进程程序 241
7.4.2 编写守护进程 247
7.5 本章小结 249
7.6 思考与练习 249
第8章 进程间通信 251
8.1 Linux下进程间通信概述 251
8.2 管道 252
8.2.1 管道概述 252
8.2.2 管道系统调用 253
8.2.4 标准流管道 256
8.2.5 FIFO 258
8.3 信号 261
8.3.1 信号概述 261
8.3.2 信号发送与捕捉 263
8.3.3 信号的处理 266
8.4 信号量 273
8.4.1 信号量概述 273
8.4.2 信号量的应用 274
8.5 共享内存 279
8.5.1 共享内存概述 279
8.5.2 共享内存的应用 279
8.6 消息队列 285
8.6.1 消息队列概述 285
8.6.2 消息队列的应用 285
8.7 实验内容 291
8.7.1 管道通信实验 291
8.7.2 共享内存实验 295
8.8 本章小结 300
8.9 思考与练习 300
第9章 多线程编程 301
9.1 Linux线程概述 301
9.1.1 线程概述 301
9.1.2 线程机制的分类和特性 302
9.2 Linux线程编程 302
9.2.1 线程基本编程 302
9.2.2 线程之间的同步与互斥 306
9.2.3 线程属性 314
9.3 实验内容——“生产者消费者”实验 318
9.4 本章小结 324
9.5 思考与练习 324
第10章 嵌入式Linux网络编程 325
10.1 TCP/IP协议概述 325
10.1.1 OSI参考模型及TCP/IP参考模型 325
10.1.2 TCP/IP协议族 326
10.1.3 TCP和UDP 326
3.协议的选择 328
10.2 网络基础编程 329
10.2.1 socket概述 329
10.2.2 地址及顺序处理 329
10.2.3 socket基础编程 335
10.3 网络高级编程 342
10.4 实验内容——NTP协议实现 347
10.5 本章小结 354
10.6 思考与练习 355
第11章 嵌入式Linux设备驱动开发 356
11.1 设备驱动概述 356
11.1.1 设备驱动简介及驱动模块 356
11.1.2 设备分类 357
11.1.3 设备号 358
11.1.4 驱动层次结构 358
11.1.5 设备驱动程序与外界的接口 359
11.1.6 设备驱动程序的特点 359
11.2 字符设备驱动编程 360
11.3 GPIO驱动程序实例 369
11.3.1 GPIO工作原理 369
11.3.2 GPIO驱动程序 370
11.4 块设备驱动编程 377
11.5 中断编程 381
11.6 按键驱动程序实例 381
11.6.1 按键工作原理 381
11.6.2 按键驱动程序 383
11.6.3 按键驱动的测试程序 391
11.7 实验内容——test驱动 393
11.8 本章小结 399
11.9 思考与练习 400
第12章 Qt图形编程基础 401
12.1 嵌入式GUI简介 401
12.1.1 Qt/Embedded 402
12.1.2 MiniGUI 402
12.1.3 Microwindows、Tiny X等 402
12.2 Qt/Embedded开发入门 403
12.2.1 Qt/Embedded介绍 403
12.2.2 Qt/Embedded信号和插槽机制 406
12.2.3 搭建Qt/Embedded开发环境 409
12.2.4 Qt/Embedded窗口部件 411
12.2.5 Qt/Embedded图形界面编程 414
12.2.6 Qt/Embedded对话框设计 417
12.3 实验内容——使用Qt编写“Hello,World”程序 420
12.4 本章小结 428
电子书PDF下载:
第1章、Linux快速入门.pdf
(476.67 KB)
第2章、Linux基础命令.pdf
(840.59 KB)
第3章、Linux下C编程基础.pdf
(962.79 KB)
第4章、嵌入式系统基础.pdf
(840 KB)
第5章、嵌入式Linux开发环境的搭建.pdf
(887.44 KB)
第6章、文件IO编程.pdf
(872.22 KB)
第7章、进程控制开发.pdf
(646.41 KB)
第8章、进程间通信.pdf
(864.1 KB)
第9章、多线程编程.pdf
(481.88 KB)
第10章、嵌入式Linux网络编程.pdf
(621.49 KB)
第11章、嵌入式Linux设备驱动开发.pdf
(814.16 KB)
第12章、Qt图形编程基础.pdf
(751.76 KB)
|