图书介绍
工程设计与分析系列 嵌入式Linux系统与工程实践 第2版PDF|Epub|txt|kindle电子书版本网盘下载
- 戴璐平,何渊仁,吴志男编著 著
- 出版社: 北京:电子工业出版社
- ISBN:7121310539
- 出版时间:2017
- 标注页数:541页
- 文件大小:183MB
- 文件页数:553页
- 主题词:
PDF下载
下载说明
工程设计与分析系列 嵌入式Linux系统与工程实践 第2版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.1.2嵌入式系统的特点2
1.2嵌入式系统的组成2
1.2.1嵌入式处理器3
1.2.2外围设备3
1.2.3嵌入式操作系统3
1.2.4应用软件3
1.3嵌入式处理器4
1.3.1嵌入式处理器的分类4
1.3.2嵌入式微处理器5
1.3.3嵌入式微控制器5
1.3.4嵌入式DSP处理器6
1.3.5嵌入式片上系统6
1.3.6选择嵌入式处理器7
1.4嵌入式操作系统7
1.4.1操作系统的概念和分类8
1.4.2实时操作系统8
1.4.3常用的嵌入式操作系统10
1.5新型的嵌入式操作系统13
1.5.1 Android13
1.5.2 MontaVista15
1.6嵌入式系统的应用15
1.7嵌入式系统的发展趋势18
1.7.1嵌入式系统面临的挑战18
1.7.2嵌入式系统的发展前景19
1.8本章小结20
第2章 嵌入式软件开发过程与工具21
2.1嵌入式软件开发介绍21
2.1.1嵌入式软件开发的特殊性21
2.1.2嵌入式软件的分类22
2.1.3嵌入式软件的开发流程22
2.1.4嵌入式软件开发工具的发展趋势24
2.2嵌入式软件的调试技术25
2.2.1调试技术介绍25
2.2.2基于JTAG的ARM系统调试26
2.3嵌入式软件测试技术27
2.3.1宿主机—目标机开发模式27
2.3.2目标监控器28
2.4嵌入式系统集成开发环境30
2.4.1 ADS的介绍30
2.4.2 ADS建立工程的使用介绍32
2.4.3 AXD调试器的使用介绍37
实例2-1 ARM开发环境ADS的使用实例39
2.5本章小结43
第3章 嵌入式处理器体系结构44
3.1 ARM体系结构概述44
3.1.1 ARM体系结构简介45
3.1.2 ARM体系结构的技术特征47
3.1.3 CISC的体系结构48
3.1.4 RISC的体系结构48
3.1.5 RISC系统和CISC系统的比较50
3.2 ARM微处理器的分类51
3.2.1 ARM7微处理器51
3.2.2 ARM9微处理器52
3.2.3 ARM9E微处理器52
3.2.4 ARM 10E微处理器53
3.2.5 ARM 11微处理器54
3.2.6 SecurCore微处理器54
3.2.7 StrongARM微处理器54
3.2.8 XScale微处理器55
3.3 ARM微处理器的应用55
3.3.1 ARM微处理器的应用选型55
3.3.2 S3C2410处理器56
3.4存储器57
3.4.1存储器简介57
3.4.2 SDRAM操作59
3.4.3 Flash60
3.5 ARM编程模型61
3.5.1数据类型61
3.5.2存储器格式62
3.5.3处理器工作状态62
3.5.4处理器运行模式63
3.5.5寄存器组织63
3.5.6内部寄存器66
3.6 ARM指令的寻址方式67
3.6.1立即寻址67
3.6.2寄存器寻址68
3.6.3寄存器间接寻址68
3.6.4相对寻址69
3.6.5堆栈寻址69
3.6.6块复制寻址70
3.6.7变址寻址70
3.6.8多寄存器寻址71
3.7 ARM指令集71
3.7.1 ARM指令的格式71
3.7.2 ARM指令分类72
3.7.3 Thumb指令介绍78
3.7.4 Thumb指令分类79
3.7.5 ARM指令集和Thumb指令集的区别82
3.8 ARM微处理器的异常83
3.8.1 ARM体系结构所支持的异常类型84
3.8.2异常矢量表85
3.8.3异常优先级85
3.8.4应用程序中的异常处理86
3.8.5各类异常的具体描述87
3.9本章小结91
第二篇Linux开发入门92
第4章Linux开发常用操作92
4.1 Linux系统介绍92
4.1.1 Linux的概况93
4.1.2 Linux操作系统的构成94
4.1.3 Linux常见的发行版本95
4.1.4 Linux内核的特点97
4.2 Linux命令的使用98
4.3 vi编辑器的使用108
4.3.1 vi编辑器的进入108
4.3.2命令模式的命令109
4.3.3末行模式的命令110
实例4-1 vi编辑器使用实例110
4.4 Shell编程112
4.4.1 Shell基础介绍112
4.4.2 Shell程序的变量和参数114
4.4.3运行Shell程序116
4.4.4 Shell程序设计的流程控制117
4.4.5 Shell输入与输出121
4.4.6 bash介绍123
4.5综合实例124
实例4-2编写清除/var/log下的log文件综合实例124
实例4-3编写寻找死链接文件综合实例127
4.6本章小结131
第5章Linux内核介绍132
5.1进程概述132
5.1.1进程结构133
5.1.2进程的控制操作134
5.1.3进程的属性136
5.1.4进程的创建和调度137
5.1.5 Linux进程命令139
5.2系统调用143
5.2.1系统调用概述143
5.2.2系统调用的进入144
5.2.3与进程管理相关的系统调用145
5.3管道145
5.3.1管道系统调用145
5.3.2管道的分类147
实例5-1管道通信实例148
5.4信号150
5.4.1常见的信号种类150
5.4.2系统调用函数151
5.4.3信号的处理152
5.4.4信号与系统调用的关系152
实例5-2信号实例153
5.5信号量154
5.5.1信号量概述154
5.5.2相关的数据结构155
5.5.3相关的函数157
实例5-3信号量实例158
5.6共享内存163
5.6.1共享内存原理163
5.6.2共享内存对象的结构164
5.6.3相关的函数165
实例5-4共享内存实例166
5.7消息队列171
5.7.1有关的数据结构171
5.7.2相关的函数174
实例5-5消息队列实例176
5.8综合实例179
实例5-6多线程编程实例179
5.9本章小结180
第6章Linux开发环境的构建181
6.1建立Linux开发环境概述181
6.1.1 Cygwin开发环境181
6.1.2 VMware Workstation开发环境183
6.2交叉编译的使用185
6.2.1 GNU交叉工具链的设置185
6.2.2 ARM GNU常用汇编语言188
6.2.3 GNU交叉工具链的常用工具190
6.2.4交叉编译环境193
6.3 Linux下的C编程196
6.3.1 Linux程序设计特点196
6.3.2 Linux下C语言编码的风格197
6.3.3 Linux程序基础197
6.3.4 Linux下C编程的库依赖199
6.4 gcc的使用与开发199
6.4.1 gcc简介和使用199
6.4.2 gcc选项200
6.4.3 gcc的错误类型203
实例6-1 gcc编译器环境的应用实例204
6.5 gdb调试器的介绍和使用205
6.5.1 gdb调试器的使用205
6.5.2在gdb中运行程序206
6.5.3暂停和恢复程序运行208
6.5.4远程调试211
实例6-2 gdb调试器环境的应用实例211
6.6 GNU make和Makefile的使用213
6.6.1 Makefile的基本结构214
6.6.2 Makefile的变量215
6.6.3 Makefile的隐含规则217
6.6.4 Makefile的命令使用220
6.6.5 Makefile的函数使用221
6.6.6 Makefile文件的运行223
6.6.7 Makefile规则书写命令225
实例6-3 Makefile的命令使用实例231
6.7 autoconf和automake的使用233
6.7.1 autoconf的使用233
6.7.2 Makefile.am的编写236
6.7.3 automake的使用236
6.7.4使用automake和autoconf产生Makefile237
6.7.5自动生成Makefile的方法237
6.8综合实例238
实例6-4 gcc编译器的综合实例238
实例6-5 gdb调试器的综合实例241
实例6-6 Makefile的综合实例244
6.9本章小结246
第三篇 嵌入式系统移植与构建247
第7章Bootloader的使用247
7.1 Bootloader概述248
7.1.1 Bootloader的作用248
7.1.2 Bootloader的功能249
7.1.3 Bootloader的种类250
7.1.4 Bootloader的工作模式251
7.1.5 Bootloader的启动方式251
7.1.6 Bootloader的启动流程253
7.1.7 Bootloader与主机的通信253
7.2 vivi的移植253
7.2.1 vivi的常用命令和文件结构254
7.2.2 vivi第一阶段的分析255
7.2.3 vivi第二阶段的分析261
7.2.4 vivi的配置与编译263
7.3 U-boot的移植264
7.3.1 U-boot常用命令和源代码目录结构264
7.3.2 U-boot支持的主要功能268
7.3.3 U-boot的编译和添加命令268
7.3.4 U-boot的启动介绍272
7.3.5 U-boot的移植和使用273
7.3.6 U-boot的启动过程275
7.3.7 U-boot的调试276
7.4其他常见的Bootloader278
7.5综合实例280
实例7-1 vivi编译实例280
实例7-2 U-boot在S3C2410上的移植实例281
实例7-3 Bootloader设计实例283
7.6本章小结285
第8章Linux内核裁剪与移植286
8.1 Linux移植简介286
8.1.1 Linux可移植性发展287
8.1.2 Linux的移植性287
8.2 Linux内核结构288
8.2.1 Linux内核组成288
8.2.2子系统相互间的关系292
8.2.3系统数据结构293
8.2.4 Linux内核源代码293
8.3 Linux内核配置297
实例8-1 Linux内核配置实例297
8.4 Linux操作系统移植介绍300
8.4.1 Linux系统移植的两大部分300
8.4.2内核文件的修改302
8.4.3系统移植所必需的环境306
8.5综合实例309
实例8-2编译Linux内核应用实例309
实例8-3 Linux内核的烧写实例311
实例8-4使用KGDB构建Linux内核调试环境312
8.6本章小结321
第9章Linux根文件系统的构建322
9.1 Linux文件系统概述322
9.1.1 Linux文件系统的特点322
9.1.2其他常见的嵌入式文件系统324
9.1.3 Linux根文件目录结构326
9.1.4 Linux文件属性介绍326
9.2使用BusyBox生成工具集327
9.2.1 BusyBox概述327
9.2.2 BusyBox进程和用户程序启动过程328
9.2.3编译/安装BusyBox329
实例9-1用BusyBox建立简单的根文件系统333
9.3构建根文件系统335
9.3.1根文件系统制作流程335
实例9-2构建根文件系统339
9.4配置yaffs文件341
9.4.1 yaffs文件系统设置342
9.4.2 yaffs文件系统测试344
9.5综合实例345
实例9-3制作/使用yaffs文件系统映像文件345
实例9-4制作/使用jffs2文件系统映像文件347
9.6本章小结349
第四篇 嵌入式系统开发350
第10章 设备驱动程序开发350
10.1设备驱动程序概述351
10.1.1驱动程序的简介351
10.1.2设备分类351
10.1.3设备号352
10.1.4设备节点353
10.1.5驱动层次结构353
10.1.6设备驱动程序的特点354
10.2设备驱动程序与文件系统355
10.2.1设备驱动程序与文件系统的关系355
10.2.2设备驱动程序与操作系统的关系355
10.2.3 Linux设备驱动程序的接口356
10.2.4设备驱动程序开发的基本函数361
10.2.5 Linux驱动程序的加载362
10.3设备驱动程序的使用366
10.3.1驱动程序模块的加载366
10.3.2创建设备文件367
10.3.3使用设备367
10.4网络设备基础知识367
10.4.1网络协议367
10.4.2网络设备接口基础369
10.5网络设备驱动程序的架构371
10.5.1网络设备驱动程序体系结构371
10.5.2网络设备驱动程序模块分析372
10.5.3网络设备驱动程序的实现模式378
10.5.4网络设备驱动程序的数据结构379
10.6综合实例383
实例10-1键盘驱动开发实例383
实例10-2 12C总线驱动的编写实例386
实例10-3 TFT-LCD显示驱动实例390
10.7本章小结395
第11章 嵌入式常用GUI开发396
11.1嵌入式系统中的GUI简介397
11.1.1嵌入式 GUI系统的介绍397
11.1.2基于嵌入式Linux的GUI系统底层实现基础399
11.1.3嵌入式GUI系统的分析与比较399
11.2嵌入式系统下MiniGUI的实现401
11.2.1图形用户界面MiniGUI简介401
11.2.2 MiniGUI的发布版本403
11.2.3 MiniGUI在S3C2410处理器上的移植过程406
11.3 Qt/Embedded嵌入式图形开发基础409
11.3.1 Qt/Embedded开发环境的安装409
11.3.2 Qt/Embedded底层支持及实现代码分析413
11.3.3 Qt/Embedded信号和插槽机制414
11.3.4 Qt/Embedded窗口部件417
11.3.5 Qt/Embedded图形界面编程420
11.3.6 Qt/Embedded对话框设计421
11.3.7数据库422
实例11-1 Qt/Embedded图形开发应用实例425
11.4 Qtopia移植426
11.4.1 Qtopia简介426
11.4.2交叉编译、安装Qtopia426
实例11-2 Qtopia移植应用实例428
11.5 Qt/Embedded应用开发429
11.5.1嵌入式硬件开发平台的选择429
11.5.2 Qt/Embedded常用工具的介绍431
11.5.3交叉编译Qt/Embedded的库432
11.5.4 Qt/E程序的编译与执行433
实例11-3 Qt/Embedded实战演练434
11.6综合实例438
实例11-4 Hello, Qt/Embedded应用程序438
实例11-5基本绘图应用程序的编写441
11.7本章小结445
第12章 嵌入式系统工程实例446
12.1文件系统的生成与烧写446
12.1.1 yaffs文件系统的制作与生成447
12.1.2 jffs2文件系统的制作与生成451
12.2基于Linux的数码相框454
12.2.1系统需求分析454
12.2.2系统总体设计455
12.2.3软件设计实现456
12.2.4软硬件集成463
12.3基于Linux的MPlayer解码播放器464
12.3.1可行性分析报告464
12.3.2系统总体设计465
12.3.3软件总体设计466
12.3.4软件详细设计470
12.3.5软硬件集成480
12.4基于Linux的GPS导航系统的开发481
12.4.1嵌入式开发流程482
12.4.2 GPS导航定位系统的系统定义484
12.4.3 GPS导航系统的可行性分析报告489
12.4.4 GPS导航系统需求分析490
12.4.5 GPS导航系统总体设计实现493
12.4.6 GPS导航系统硬件设计实现494
12.4.7 GPS导航系统软件概括设计498
12.4.8 GPS导航系统软件详细设计498
12.4.9 GPS导航系统数据库的配置设计525
12.4.10 GPS导航系统软件实现537
12.4.11 GPS导航系统软硬件集成538
12.4.12 GPS导航系统功能性能测试540
12.5本章小结541