图书介绍
Linux嵌入式系统高级程序设计2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)GeneSally著;郭旭译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115239372
- 出版时间:2010
- 标注页数:338页
- 文件大小:34MB
- 文件页数:348页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
Linux嵌入式系统高级程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 嵌入式Linux简介1
1.1 为何使用嵌入式Linux2
1.1.1 使用嵌入式Linux的技术原因2
1.1.2 商业上使用嵌入式Linux的原因7
1.2 1万英尺高空鸟瞰:略述嵌入式Linux开发9
1.2.1 目标硬件9
1.2.2 获取Linux9
1.2.3 启动Linux9
1.2.4 开发环境10
1.2.5 系统设计10
1.3 嵌入式Linux系统的组织结构10
1.3.1 启动装载程序11
1.3.2 内核12
1.3.3 根文件系统12
1.3.4 应用程序13
1.3.5 交叉编译器13
1.3.6 工具14
1.4 从何处获得帮助18
1.4.1 Google大学18
1.4.2 邮件列表和新闻组18
1.4.3 厂商赞助的资源19
1.4.4 行业组织和社区兴趣网站19
1.4.5 IRC21
1.5 前瞻21
第2章 配置软件环境22
2.1 宿主机环境22
2.1.1 Linux23
2.1.2 Windows26
2.2 宿主机服务36
2.2.1 关闭防火墙36
2.2.2 TFTP37
2.2.3 DHCP38
2.2.4 NFS39
2.2.5 PXE42
2.3 连接线缆43
2.3.1 串行连接(用于控制台)43
2.3.2 网络43
2.4 避免IT管理人员恼火的拜访44
第3章 目标机仿真与虚拟机46
3.1 为何仿真目标机46
3.2 通过QEMU进行仿真47
3.2.1 编译QEMU47
3.2.2 使用QEMU仿真目标机48
3.2.3 使用QEMU在仿真模式下进行编译50
3.3 x86宿主机的虚拟化软件51
3.4 小结52
第4章 开始你的项目53
4.1 大多数目标板包含了Linux发布版54
4.2 打开目标板包装后需要做什么55
4.2.1 有Linux吗?启动它55
4.2.2 访问内核61
4.2.3 理解根文件系统64
4.3 根文件系统对项目的适用性68
4.4 小结70
第5章 获取对应于目标板的Linux71
5.1 从目标板厂商获取Linux72
5.1.1 应该询问板卡厂商的问题72
5.1.2 现在你是一位顾客了74
5.2 开源嵌入式Linux发布版74
5.2.1 嵌入式Linux发布版构建工具存在的原因75
5.2.2 应该使用某种发布版构建工具吗75
5.2.3 流行的开源嵌入式Linux发布版76
5.3 从商业厂商和咨询机构获取Linux87
5.3.1 你需要考虑商业性的Linux厂商吗87
5.3.2 预期厂商应提供什么88
5.3.3 厂商列表88
5.4 小结90
第6章 从头开始创建Linux发布版91
6.1 交叉编译器基础92
6.1.1 联编软件时需要注意的情况93
6.1.2 习惯命令行94
6.2 联编GCC交叉编译器概述94
6.2.1 C库95
6.2.2 收集源代码95
6.2.3 联编GCC99
6.3 用crosstoolNG联编工具链109
6.4 创建根文件系统111
6.4.1 配置环境111
6.4.2 联编和安装BusyBox111
6.4.3 库112
6.4.4 创建设备结点和目录113
6.4.5 最后修整113
6.4.6 联编内核114
6.4.7 解决启动问题117
6.5 发布发布版118
6.6 小结119
第7章 启动目标板120
7.1 启动Linux系统是一部三幕剧120
7.1.1 启动装载程序120
7.1.2 内核层与用户层123
7.2 启动装载程序123
7.3 内核启动129
7.3.1 内核入口点130
7.3.2 用户层启动135
7.3.3 BusyBox Init138
7.3.4 用户自定义init139
7.4 前瞻&.140
第8章 配置应用开发环境141
8.1 选择完成工作的正确工具141
8.2 解要开发的应用程序141
8.3 使用何种开发工具143
8.3.1 C语言144
8.3.2 C++144
8.3.3 Java145
8.4 非传统嵌入式语言146
8.4.1 Python147
8.4.2 TCL148
8.4.3 Shell脚本149
8.4.4 PHP150
8.5 性能和性能剖析工具151
8.5.1 性能剖析151
8.5.2 内存泄漏检测154
8.5.3 静态分析156
8.6 IDE157
8.6.1 编辑器+make+shell157
8.6.2 Eclipse159
8.7 前瞻163
第9章 应用开发164
9.1 开始开发应用程序164
9.2 桌面系统和目标机164
9.2.1 针对可移植性编写代码165
9.2.2 系统差别166
9.3 Hello World167
9.3.1 获取工具167
9.3.2 使make工作168
9.3.3 在目标机上运行代码171
9.3.4 更复杂的项目172
9.4 准备好调试176
9.5 前瞻178
第10章 调试应用程序179
10.1 开始开发应用程序179
10.2 调试的种类179
10.3 远程调试概述180
10.4 调试C和C++180
10.4.1 联编GDB181
10.4.2 GDB前端182
10.4.3 针对调试进行编译182
10.5 调试Java190
10.6 测量193
10.6.1 Java测量195
10.6.2 脚本语言中的测量196
10.7 前瞻196
第11章 内核配置和开发197
11.1 内核项目布局197
11.2 联编内核200
11.2.1 内核配置程序的工作方式202
11.2.2 默认配置203
11.2.3 手工编辑.config文件204
11.2.4 联编内核205
11.2.5 联编模块207
11.2.6 清理208
11.3 开源社区209
11.3.1 内核开发过程209
11.3.2 向Linux内核贡献代码209
11.3.3 应用补丁211
11.4 前瞻211
第12章 实时212
12.1 Linux中的实时实现215
12.2 实时程序设计惯例218
12.2.1 仅一个实时进程218
12.2.2 锁定内存218
12.2.3 避免使用堆219
12.2.4 需要继承优先级的互斥量219
12.2.5 I/O是非确定的220
12.2.6 使用线程池220
12.2.7 LatencyTOP221
12.3 常见的硬件缺陷223
12.3.1 系统管理中断224
12.3.2 VGA控制台224
12.3.3 DMA总线独占224
12.4 小结224
第13章 使用开源软件项目225
13.1 使用开源软件包225
13.1.1 开源项目的结构226
13.1.2 项目团队并非你的员工226
13.1.3 理解许可证227
13.1.4 下载228
13.1.5 使用源代码控制系统取得代码229
13.1.6 交叉编译232
13.1.7 使用configure233
13.1.8 联编和安装237
13.2 常用项目238
13.2.1 DirectFB238
13.2.2 Dropbear238
13.2.3 QT/Qtopia238
13.2.4 JamVM238
13.2.5 Rzsz239
13.2.6 Netcat239
13.2.7 TinyXML239
13.2.8 Miero_httpd239
13.2.9 Stupid-FTPd240
13.2.10 Quagga240
13.2.11 tslib240
13.2.12 fgetty240
第14章 BusyBox241
14.1 基于BusyBox的系统的组织方式241
14.2 构建基于BusyBox的系统242
14.2.1 下载软件242
14.2.2 配置243
14.3 BusyBox为什么这样小248
14.4 创建自己的小应用程序249
14.5 获得帮助253
14.6 前瞻253
第15章 系统设计254
15.1 整体图景254
15.2 配置启动装载程序和内核255
15.2.1 U-Boot255
15.2.2 其他启动装载程序257
15.2.3 就地执行257
15.3 选择根文件系统258
15.3.1 基于块的文件系统258
15.3.2 MTD文件系统261
15.3.3 基于内存缓冲区的文件系统262
15.3.4 文件系统的组合263
15.4 组装根文件系统263
15.4.1 创建中间整备区域264
15.4.2 创建目录框架264
15.4.3 收集库和其他必需的文件264
15.4.4 创建初始化脚本266
15.4.5 设置所有权和权限269
15.5 安全270
15.5.1 内建的安全机制271
15.5.2 SELinux271
15.5.3 PAM274
15.6 前瞻276
第16章 系统微调277
16.1 减小根文件系统的大小279
16.1.1 从零开始279
16.1.2 为节省空间而编译281
16.2 减小内核的大小284
16.3 最小化启动时间289
16.3.1 减少内核启动时间289
16.3.2 测量内核启动时间291
16.3.3 缩减根文件系统的启动时间294
16.4 前瞻298
第17章 部署应用程序299
17.1 嵌入式设备的部署299
17.1.1 需求300
17.1.2 工业设计300
17.1.3 机械设计301
17.1.4 电气工程302
17.1.5 制造工程302
17.1.6 软件设计303
17.1.7 软件工程303
17.1.8 制造304
17.2 部署策略和战术305
17.3 启动装载程序306
17.3.1 一般概念306
17.3.2 UBOOT:配置初始参数307
17.3.3 expect308
17.3.4 启动装载程序只是程序310
17.4 部署根文件系统312
17.4.1 应用程序文件和库312
17.4.2 在工厂进行的第一次现场更新314
17.5 前瞻314
第18章 处理现场更新315
18.1 根文件系统更新315
18.1.1 基本策略315
18.1.2 完全更新316
18.1.3 并行系统319
18.1.4 自己动手320
18.1.5 使用包管理器321
18.1.6 initramfs根文件系统330
18.2 内核更新331
18.2.1 基本策略331
18.2.2 模块332
18.2.3 完全更新334
18.3 现场更新故障334
18.3.1 报告失败,停下335
18.3.2 故障安全的根文件系统335
18.3.3 故障安全的内核335
18.4 综述336
热门推荐
- 1604119.html
- 210158.html
- 2736454.html
- 3713833.html
- 1572926.html
- 487475.html
- 2938265.html
- 2487365.html
- 1472608.html
- 336292.html
- http://www.ickdjs.cc/book_2391898.html
- http://www.ickdjs.cc/book_2551522.html
- http://www.ickdjs.cc/book_1700818.html
- http://www.ickdjs.cc/book_57790.html
- http://www.ickdjs.cc/book_815660.html
- http://www.ickdjs.cc/book_1009273.html
- http://www.ickdjs.cc/book_1326873.html
- http://www.ickdjs.cc/book_1314870.html
- http://www.ickdjs.cc/book_3045385.html
- http://www.ickdjs.cc/book_3173865.html