图书介绍
嵌入式Linux系统开发及应用教程PDF|Epub|txt|kindle电子书版本网盘下载
![嵌入式Linux系统开发及应用教程](https://www.shukui.net/cover/53/30430719.jpg)
- 金伟正编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302476085
- 出版时间:2017
- 标注页数:308页
- 文件大小:57MB
- 文件页数:326页
- 主题词:Linux操作系统-高等学校-教材
PDF下载
下载说明
嵌入式Linux系统开发及应用教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 绪论1
1.1 嵌入式系统概述1
1.1.1 嵌入式系统的历史1
1.1.2 嵌入式系统的特点2
1.1.3 嵌入式处理器2
1.1.4 嵌入式系统的发展趋势3
1.2 嵌入式系统开发4
1.2.1 需求分析及概要设计4
1.2.2 嵌入式系统中的硬件及软件6
1.2.3 嵌入式系统开发的一般过程7
1.3 嵌入式操作系统16
1.3.1 嵌入式操作系统的分类16
1.3.2 嵌入式操作系统的特点17
1.3.3 典型的嵌入式操作系统18
1.3.4 嵌入式操作系统的选择21
1.4 本章小结21
1.5 思考题22
第2章 Linux基础知识23
2.1 认识Linux操作系统23
2.1.1 Linux简明历史23
2.1.2 Linux系统的特点和组成25
2.1.3 Linux的开发过程26
2.2 基本操作命令28
2.2.1 字符界面简介28
2.2.2 常用命令简介28
2.3 Linux文件与目录系统33
2.3.1 Linux文件系统类型介绍33
2.3.2 Linux目录系统36
2.4 shell简介37
2.5 网络服务简介38
2.5.1 Linux支持的网络协议38
2.5.2 Linux的网络服务39
2.6 本章小结41
2.7 思考题41
第3章 Linux编程环境42
3.1 Linux编程环境介绍42
3.1.1 开发工具环境42
3.1.2 基于文本模式的开发平台43
3.1.3 集成开发平台Eclipse+CDT43
3.1.4 文档帮助环境44
3.2 常用编辑器45
3.2.1 VIM编辑器46
3.2.2 Emacs编辑器48
3.3 gcc编译器的使用51
3.3.1 gcc的主要选项52
3.3.2 GNUC扩展简介55
3.4 GNU make管理项目56
3.4.1 make简介56
3.4.2 编写Makefile文件的规则57
3.5 GDB调试61
3.5.1 GDB命令介绍61
3.5.2 GDB调试例程65
3.5.3 基于GDB的图形界面调试工具68
3.6 本章小结69
3.7 思考题69
第4章 Linux外壳程序编程70
4.1 创建和运行外壳程序70
4.1.1 创建外壳程序70
4.1.2 运行外壳程序71
4.2 使用外壳变量72
4.2.1 给变量赋值72
4.2.2 读取变量的值72
4.2.3 位置变量和其他系统变量72
4.2.4 引号的作用73
4.3 数值运算命令74
4.4 条件表达式77
4.4.1 if表达式77
4.4.2 case表达式78
4.5 循环语句79
4.5.1 for语句79
4.5.2 while语句80
4.5.3 until语句81
4.5.4 repeat语句82
4.6 shift命令82
4.7 select语句83
4.8 函数83
4.9 shell应用举例85
4.10 本章小结89
4.11 思考题89
第5章 构建嵌入式Linux开发平台90
5.1 GNU跨平台开发工具链90
5.1.1 基础知识90
5.1.2 GNU跨平台开发工具链的建立过程90
5.2 嵌入式Linux内核97
5.3 嵌入式Linux根文件系统98
5.4 Bootloader简介99
5.5 本章小结100
5.6 思考题100
第6章 ARM调试环境101
6.1 ARM调试工具简介101
6.1.1 JTAG仿真器101
6.1.2 Multi-ICE Server102
6.2 ADS软件调试工具104
6.2.1 使用Metrowork CodeWarrior for ARM Developer Suite104
6.2.2 使用RealView Debugger107
6.2.3 使用AXD Debugger109
6.3 本章小结116
6.4 思考题116
第7章 嵌入式Bootloader技术117
7.1 Bootloader的基本概念117
7.1.1 Bootloader的安装点和启动过程117
7.1.2 Bootloader的模式118
7.1.3 Bootloader与主机之间的通信方式118
7.2 Bootloader典型结构框架119
7.2.1 Bootloader总体流程119
7.2.2 Bootloader的stage1120
7.2.3 Bootloader的stage2122
7.3 典型Bootloader分析和移植129
7.3.1 Blob129
7.3.2 U-Boot133
7.4 其他Bootloader简介139
7.4.1 Redboot139
7.4.2 ARMBoot139
7.4.3 PPCBoot139
7.5 本章小结140
7.6 思考题140
第8章 Linux内核配置141
8.1 内核概述141
8.2 嵌入式Linux内核代码结构142
8.3 内核开发的特点144
8.3.1 没有libc库144
8.3.2 GNU C144
8.3.3 没有内存保护机制145
8.3.4 不要轻易在内核中使用浮点数145
8.3.5 容积小而固定的栈146
8.3.6 同步和并发146
8.3.7 可移植性的重要性146
8.4 嵌入式Linux内核的配置146
8.4.1 Makefile147
8.4.2 配置文件151
8.4.3 Linux内核配置选项154
8.5 配置举例159
8.6 本章小结161
8.7 思考题162
第9章 ARM-Linux内核分析和移植163
9.1 ARM微处理器163
9.1.1 RISC体系结构163
9.1.2 ARM微处理器的类型164
9.1.3 ARM微处理器的寄存器结构167
9.1.4 ARM微处理器的指令结构168
9.2 ARM-Linux内存管理168
9.2.1 内存管理单元(MMU)168
9.2.2 ARM-Linux的存储管理机制169
9.2.3 ARM-Linux存储机制的建立169
9.2.4 ARM-Linux对进程虚拟空间的管理173
9.3 ARM-Linux进程管理与调度176
9.3.1 task_struct数据结构176
9.3.2 Linux进程的创建、执行和消亡184
9.3.3 ARM_Linux的进程调度189
9.4 ARM-Linux中断与中断处理195
9.4.1 Linux处理中断概述195
9.4.2 ARM体系程序的执行流程199
9.4.3 ARM处理器对异常中断的响应及返回过程199
9.5 Linux驱动程序简介202
9.5.1 设备的分类203
9.5.2 设备号203
9.5.3 设备节点204
9.5.4 用户空间和内核空间204
9.6 Linux模块化机制204
9.6.1 Linux的模块化204
9.6.2 模块的载入206
9.6.3 模块的卸载207
9.7 ARM-Linux系统启动与初始化207
9.7.1 内核数据结构的初始化207
9.7.2 外设初始化212
9.7.3 init进程和linittab文件213
9.7.4 rc启动脚本214
9.7.5 shell的启动214
9.8 ARM-Linux内核裁减215
9.9 ARM-Linux移植217
9.9.1 移植准备218
9.9.2 移植步骤218
9.9.3 配置内核选项218
9.9.4 修改Kernel文件系统部分代码219
9.10 本章小结221
9.11 思考题222
第10章 嵌入式文件系统223
10.1 Linux文件系统结构与特征223
10.1.1 Linux文件系统概述223
10.1.2 Linux文件系统布局223
10.1.3 Linux支持的文件系统229
10.2 嵌入式文件系统简介231
10.2.1 NOR Flash与NAND Flash介绍231
10.2.2 MTD介绍232
10.2.3 cramfs文件系统简介234
10.2.4 romfs文件系统简介235
10.2.5 JFFS文件系统简介237
10.2.6 YAFFS文件系统简介238
10.3 构建根文件系统239
10.4 根文件系统设置241
10.5 BusyBox243
10.5.1 BusyBox简介243
10.5.2 使用BusyBox构建根文件系统244
10.6 嵌入式文件系统的设计246
10.6.1 文件系统格式的选型的基本策略246
10.6.2 混合型文件系统的设计247
10.7 本章小结248
10.8 思考题249
第11章 嵌入式Linux多线程编程250
11.1 线程基本概念250
11.1.1 Linux线程简介250
11.1.2 Linux线程编程基础251
11.2 多线程同步254
11.2.1 互斥锁254
11.2.2 条件变量257
11.2.3 信号量258
11.3 生产者-消费者问题262
11.3.1 生产者-消费者问题简介262
11.3.2 生产者-消费者问题实例262
11.4 本章小结266
11.5 思考题266
第12章 嵌入式Web服务器设计267
12.1 TCP/IP协议267
12.1.1 TCP/IP协议栈267
12.1.2 TCP/IP协议栈的数据流向268
12.1.3 TCP协议与UDP协议268
12.2 HTTP协议270
12.2.1 HTTP协议的方法270
12.2.2 HTTP协议消息头272
12.2.3 HTTP协议使用举例273
12.2.4 内核网络服务274
12.3 socket编程基础274
12.3.1 socket描述274
12.3.2 socket描述符275
12.4 嵌入式Web服务器介绍276
12.4.1 协议标准276
12.4.2 瘦Web服务器276
12.4.3 嵌入式应用接口技术277
12.4.4 实现形式278
12.4.5 RomPager278
12.4.6 EMIT279
12.5 Web服务器构建279
12.6 本章小结282
12.7 思考题283
第13章 嵌入式Linux的GUI284
13.1 嵌入式GUI简介284
13.1.1 MiniGUI285
13.1.2 Qt/Embedded285
13.1.3 Nano-X286
13.1.4 OpenGUI286
13.2 MiniGUI程序设计基础287
13.2.1 MiniGUI V1.3.3软件包287
13.2.2 MiniGUI的特点288
13.2.3 窗口处理过程290
13.2.4 MiniGUI的线程机制291
13.2.5 MiniGUI的体系结构292
13.2.6 MiniGUI的底层引擎293
13.2.7 MiniGUI的三种运行模式293
13.2.8 MiniGUI移植294
13.3 Qt/Embedded程序设计基础296
13.3.1 Qt/Embedded图形引擎实现基础298
13.3.2 Qt/Embedded事件驱动基础299
13.3.3 Qt/Embedded底层支持分析300
13.3.4 Qt/Embedded移植300
13.4 本章小结305
13.5 思考题306
参考文献307