登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』嵌入式Linux基础教程(第2版)

書城自編碼: 3736964
分類: 簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: [美]克里斯托弗·哈利南[Christopher Halli
國際書號(ISBN): 9787115402509
出版社: 人民邮电出版社
出版日期: 2022-03-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 579

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
波段交易的高级技术:股票和期权交易者的资金管理、规则、策略和程序指南
《 波段交易的高级技术:股票和期权交易者的资金管理、规则、策略和程序指南 》

售價:NT$ 442.0
人,为什么需要存在感:罗洛·梅谈死亡焦虑
《 人,为什么需要存在感:罗洛·梅谈死亡焦虑 》

售價:NT$ 381.0
锁国:日本的悲剧
《 锁国:日本的悲剧 》

售價:NT$ 437.0
AI智能写作: 巧用AI大模型 让新媒体变现插上翅膀
《 AI智能写作: 巧用AI大模型 让新媒体变现插上翅膀 》

售價:NT$ 330.0
家庭养育七步法5:理解是青春期的通关密码
《 家庭养育七步法5:理解是青春期的通关密码 》

售價:NT$ 279.0
三体(全三册)
《 三体(全三册) 》

售價:NT$ 512.0
天象之维:汉画像中的天文与人文
《 天象之维:汉画像中的天文与人文 》

售價:NT$ 490.0
妓女与文人
《 妓女与文人 》

售價:NT$ 179.0

建議一齊購買:

+

NT$ 600
《 通用源码阅读指导书——MyBatis源码详解 》
+

NT$ 868
《 奔跑吧Linux内核(第2版)卷2:调试与案例分析 》
+

NT$ 574
《 鸿蒙操作系统应用开发实践 》
+

NT$ 579
《 Windows Server 2016 Active Directory配置指南 》
+

NT$ 641
《 深入Linux内核架构与底层原理 》
+

NT$ 534
《 ANSYS CFX 19.0 从入门到精通(CAX工程应用丛书) 》
編輯推薦:
嵌入式Linux专作
Amazon全五星评价
剖析嵌入式Linux开发,揭示大量技术内幕

广泛的硬件支持、高效稳定的内核、开源共享的软件开发工具、完善的网络通信和文件管理机制等特点,是嵌入式Linux获得了广泛应用,已成为嵌入式开发的主流平台。
本书是嵌入式Linux领域的名著,深入而又简明地阐述了构建嵌入式Linux系统的精髓。本书不仅剖析了嵌入式Linux系统,而且讲述了处理器、内核、引导加载程序、设备驱动开发、文件系统等关键组件,介绍了嵌入式Linux系统的开发工具、调试技术。作者多年积累总结的嵌入式Linux开发技巧和提示,无论对初学者还是有经验的开发人员,都弥足珍贵。这一版不仅对原有章节进行了修订、更新和改进,还新增了udev、USB和开源构建系统等内容。
內容簡介:
《嵌入式Linux基础教程(第 2版)》是嵌入式Linux教程,介绍了引导加载程序、系统初始化、文件系统、闪存和内核、应用程序调试技巧等,还讲述了构建Linux系统的工作原理,用于驱动不同架构的配置,Linux内核源码树的特性,如何根据需求配制内核运行时的行为,如何扩展系统功能,用于构建完整嵌入式Linux发行版的常用构建系统,USB子系统和系统配置工具udev等内容。更重要的是,《嵌入式Linux基础教程(第 2版)》阐述了如何修改系统使之满足读者自身的需求,确保读者能够从中学习一些嵌入式工程中非常有用的提示和技巧。
《嵌入式Linux基础教程(第 2版)》适合Linux程序员阅读,也可作为高等院校相关专业师生的参考读物。
關於作者:
Christopher Hallinan,嵌入式Linux技术专业人士。现任Mentor Graphics公司技术市场工程师,曾任MontaVista软件公司现场应用工程师,3Com公司工程总监,Crosscomm公司工程总监。他有25年以上网络和通信产品的软硬件开发经验。曾担任Linux咨询师,提供定制Linux主板接口、设备驱动程序和引导加载程序等方面的解决方案。
目錄
第 1章 入门1
1.1 为什么选择Linux1
1.2 嵌入式Linux现状2
1.3 开源和GPL2
1.4 标准及相关组织3
1.4.1 Linux标准基础3
1.4.2 Linux基金会4
1.4.3 电信级Linux4
1.4.4 移动Linux计划:Moblin4
1.4.5 服务可用性论坛5
1.5 小结5
第 2章 综述6
2.1 嵌入与非嵌入6
2.2 剖析嵌入式系统7
2.2.1 典型的嵌入式Linux开发环境8
2.2.2 启动目标板9
2.2.3 引导内核10
2.2.4 内核初始化:概述12
2.2.5 第 一个用户空间进程:init13
2.3 存储14
2.3.1 闪存14
2.3.2 NAND型闪存15
2.3.3 闪存的用途16
2.3.4 闪存文件系统17
2.3.5 内存空间17
2.3.6 执行上下文19
2.3.7 进程虚拟内存20
2.3.8 交叉开发环境21
2.4 嵌入式Linux发行版22
2.4.1 商业Linux发行版24
2.4.2 打造自己的Linux发行版24
2.5 小结24
第3章 处理器基础26
3.1 独立处理器26
3.1.1 IBM 970FX27
3.1.2 英特尔奔腾M27
3.1.3 英特尔凌动TM28
3.1.4 飞思卡尔MPC744828
3.1.5 配套芯片组28
3.2 集成处理器:片上系统30
3.2.1 Power架构30
3.2.2 飞思卡尔Power架构30
3.2.3 飞思卡尔PowerQUICC I31
3.2.4 飞思卡尔PowerQUICC II32
3.2.5 PowerQUICC II Pro32
3.2.6 飞思卡尔PowerQUICC III33
3.2.7 飞思卡尔QorIQTM34
3.2.8 AMCC Power架构36
3.2.9 MIPS38
3.2.10 Broadcom MIPS38
3.2.11 其他MIPS39
3.2.12 ARM40
3.2.13 德州仪器ARM40
3.2.14 飞思卡尔ARM42
3.2.15 其他ARM处理器43
3.3 其他架构43
3.4 硬件平台43
3.4.1 CompactPCI43
3.4.2 ATCA44
3.5 小结44
第4章 Linux内核:不同的视角46
4.1 背景知识46
4.1.1 内核版本47
4.1.2 内核源码库48
4.1.3 使用git下载内核代码49
4.2 Linux内核的构造49
4.2.1 顶层源码目录49
4.2.2 编译内核50
4.2.3 内核主体:vmlinux52
4.2.4 内核镜像的组成部分53
4.2.5 子目录的布局56
4.3 内核构建系统57
4.3.1 .config文件57
4.3.2 配置编辑器58
4.3.3 Makefile目标61
4.4 内核配置66
4.4.1 定制配置选项68
4.4.2 内核Makefile71
4.5 内核文档72
4.6 获得定制的Linux内核72
4.7 小结73
第5章 内核初始化75
5.1 合成内核镜像:Piggy及其他75
5.1.1 Image对象78
5.1.2 与具体架构相关的对象78
5.1.3 启动加载程序79
5.1.4 引导消息80
5.2 初始化时的控制流83
5.2.1 内核入口:head.o84
5.2.2 内核启动:main.c85
5.2.3 架构设置86
5.3 内核命令行的处理87
5.4 子系统初始化92
5.5 init线程94
5.5.1 通过initcalls进行初始化95
5.5.2 initcall_debug96
5.5.3 **后的引导步骤97
5.6 小结98
第6章 用户空间初始化100
6.1 根文件系统100
6.1.1 FHS:文件系统层次结构
标准101
6.1.2 文件系统布局101
6.1.3 **小化的文件系统102
6.1.4 嵌入式根文件系统带
来的挑战103
6.1.5 试错法104
6.1.6 自动化文件系统构建工具104
6.2 内核的**后一些引导步骤104
6.2.1 第 一个用户空间程序106
6.2.2 解决依赖关系106
6.2.3 定制的初始进程107
6.3 init进程107
6.3.1 inittab109
6.3.2 Web服务器启动脚本示例111
6.4 初始RAM磁盘112
6.4.1 使用initrd进行引导113
6.4.2 引导加载程序对initrd的
支持113
6.4.3 initrd的奥秘所在:
linuxrc115
6.4.4 initrd探究116
6.4.5 构造initrd镜像116
6.5 使用initramfs117
6.6 关机119
6.7 小结120
第7章 引导加载程序122
7.1 引导加载程序的作用122
7.2 引导加载程序带来的挑战123
7.2.1 DRAM控制器123
7.2.2 闪存与RAM123
7.2.3 镜像的复杂性124
7.2.4 执行环境126
7.3 通用引导加载程序:Das U-Boot126
7.3.1 获取U-Boot127
7.3.2 配置U-Boot127
7.3.3 U-Boot的监控命令129
7.3.4 网络操作130
7.3.5 存储子系统132
7.3.6 从磁盘引导133
7.4 移植U-Boot133
7.4.1 EP405的U-Boot移植133
7.4.2 U-Boot Makefile中的配置
目标134
7.4.3 EP405的第 一次构建135
7.4.4 EP405 处理器初始化136
7.4.5 与具体板卡相关的初始化138
7.4.6 移植总结141
7.4.7 U-Boot镜像格式141
7.5 设备树对象(扁平设备树)143
7.5.1 设备树源码145
7.5.2 设备树编译器148
7.5.3 使用DTB的其他内核镜像148
7.6 其他引导加载程序149
7.6.1 Lilo149
7.6.2 GRUB150
7.6.3 其他更多的引导加载程序151
7.7 小结152
第8章 设备驱动程序基础154
8.1 设备驱动程序的概念154
8.1.1 可加载模块155
8.1.2 设备驱动程序架构155
8.1.3 **小设备驱动程序示例156
8.1.4 模块构建的基础设施157
8.1.5 安装设备驱动程序160
8.1.6 加载模块160
8.1.7 模块参数161
8.2 模块工具162
8.2.1 insmod162
8.2.2 lsmod163
8.2.3 modprobe163
8.2.4 depmod164
8.2.5 rmmod165
8.2.6 modinfo165
8.3 驱动程序方法166
8.3.1 驱动程序中的文件系统
操作166
8.3.2 设备号的分配169
8.3.3 设备节点和mknod169
8.4 综合应用170
8.5 在内核源码树外构建驱动171
8.6 设备驱动程序和GPL172
8.7 小结173
第9章 文件系统174
9.1 Linux文件系统概念175
9.2 ext2176
9.2.1 挂载文件系统177
9.2.2 检查文件系统的完整性178
9.3 ext3180
9.4 ext4182
9.5 ReiserFS182
9.6 JFFS2183
9.7 cramfs185
9.8 网络文件系统187
9.9 伪文件系统190
9.9.1 /proc文件系统191
9.9.2 sysfs194
9.10 其他文件系统196
9.11 创建简单的文件系统197
9.12 小结199
第 10章 MTD子系统201
10.1 MTD概述201
10.1.1 开启MTD服务202
10.1.2 MTD基础203
10.1.3 在目标板上配置MTD205
10.2 MTD分区205
10.2.1 使用Redboot分区表进行
分区206
10.2.2 使用内核命令行传递分区
信息210
10.2.3 映射驱动211
10.2.4 闪存芯片驱动213
10.2.5 与具体板卡相关的初始化214
10.3 MTD工具215
10.4 UBI文件系统219
10.4.1 配置UBIFS219
10.4.2 构建UBIFS镜像220
10.4.3 使用UBIFS作为根文件
系统222
10.5 小结222
第 11章 BusyBox224
11.1 BusyBox简介224
11.2 BusyBox的配置225
11.3 BusyBox的操作227
11.3.1 BusyBox的init230
11.3.2 rcS初始化脚本示例232
11.3.3 BusyBox在目标板上的
安装233
11.3.4 BusyBox小应用235
11.4 小结235
第 12章 嵌入式开发环境237
12.1 交叉开发环境237
12.2 对主机系统的要求241
12.3 为目标板提供服务242
12.3.1 TFTP服务器242
12.3.2 BOOTP/DHCP 服务器243
12.3.3 NFS服务器245
12.3.4 目标板使用NFS挂载根
文件系统247
12.3.5 U-Boot中使用NFS挂载根
文件系统的例子248
12.4 小结250
第 13章 开发工具252
13.1 GNU调试器(GDB)252
13.1.1 调试核心转储253
13.1.2 执行GDB255
13.1.3 GDB中的调试会话257
13.2 数据显示调试器258
13.3 cbrowser/cscope260
13.4 追踪和性能评测工具261
13.4.1 strace261
13.4.2 strace命令行选项264
13.4.3 ltrace266
13.4.4 ps267
13.4.5 top269
13.4.6 mtrace270
13.4.7 dmalloc272
13.4.8 内核oops274
13.5 二进制工具276
13.5.1 readelf277
13.5.2 使用readelf查看调试信息278
13.5.3 objdump280
13.5.4 objcopy281
13.6 其他二进制实用程序281
13.6.1 strip281
13.6.2 addr2line282
13.6.3 strings282
13.6.4 ldd282
13.6.5 nm283
13.6.6 prelink283
13.7 小结284
第 14章 内核调试技术286
14.1 内核调试带来的挑战286
14.2 使用KGDB进行内核调试287
14.2.1 KGDB的内核配置288
14.2.2 在开启KGDB时引导
目标板289
14.2.3 一些有用的内核断点293
14.2.4 KGDB与控制台共享一个
串行端口294
14.2.5 调试非常早期的内核代码295
14.2.6 主线内核对KGDB的支持296
14.3 内核调试技术297
14.3.1 gdb远程串行协议298
14.3.2 调试优化的内核代码300
14.3.3 GDB的用户自定义命令307
14.3.4 有用的内核GDB宏307
14.3.5 调试可加载模块315
14.3.6 printk调试319
14.3.7 Magic SysReq key320
14.4 硬件辅助调试321
14.4.1 使用JTAG探测器对闪存
进行编程322
14.4.2 使用JTAG探测器进行调
试323
14.5 不能启动的情况326
14.5.1 早期的串行端口调试输
出326
14.5.2 转储printk的日志缓冲
区327
14.5.3 使用KGDB调试内核异常328
14.6 小结329
第 15章 调试嵌入式Linux应用程序331
15.1 目标调试331
15.2 远程(交叉)调试331
15.3 调试共享程序库335
15.4 调试多个任务340
15.4.1 调试多个进程340
15.4.2 调试多线程应用程序342
15.4.3 调试引导加载程序/闪存
代码345
15.5 其他远程调试选项345
15.5.1 使用串行端口进行调试345
15.5.2 附着到运行的进程上346
15.6 小结346
第 16章 开源构建系统348
16.1 为什么使用构建系统348
16.2 Scratchbox349
16.2.1 安装Scratchbox349
16.2.2 创建一个交叉编译目标350
16.3 Buildroot351
16.3.1 安装Buildroot352
16.3.2 配置Buildroot352
16.3.3 构建Buildroot353
16.4 OpenEmbedded354
16.4.1 OpenEmbedded的组成355
16.4.2 BitBake元数据355
16.4.3 配方基础356
16.4.4 任务358
16.4.5 类359
16.4.6 配置元数据360
16.4.7 构建镜像361
16.5 小结362
第 17章 实时Linux363
17.1 什么是实时363
17.1.1 软实时363
17.1.2 硬实时364
17.1.3 Linux调度364
17.1.4 延时364
17.2 内核抢占365
17.2.1 抢占的障碍366
17.2.2 抢占模式367
17.2.3 SMP内核368
17.2.4 抢占延时的根源369
17.3 实时内核补丁369
17.3.1 实时补丁的特性370
17.3.2 O(1)调度器371
17.3.3 创建实时进程372
17.4 实时内核的性能分析373
17.4.1 使用Ftrace追踪内核行为373
17.4.2 检测抢占被关闭的延时374
17.4.3 检测唤醒延时375
17.4.4 检测中断被关闭的延时377
17.4.5 检测Soft Lockup378
17.5 小结378
第 18章 通用串行总线379
18.1 USB概述379
18.1.1 USB的物理拓扑结构379
18.1.2 USB的逻辑拓扑结构381
18.1.3 USB版本382
18.1.4 USB连接器382
18.1.5 USB线缆383
18.1.6 USB模式384
18.2 配置USB384
18.3 sysfs和USB设备命名388
18.4 实用的USB工具390
18.4.1 USB文件系统390
18.4.2 使用usbview392
18.4.3 USB 实用程序(lsusb)394
18.5 通用USB子系统395
18.5.1 USB大容量存储类395
18.5.2 USB HID类397
18.5.3 USB CDC类驱动398
18.5.4 USB网络支持400
18.6 USB调试401
18.6.1 usbmon402
18.6.2 实用USB杂记403
18.7 小结403
第 19章 udev405
19.1 什么是udev405
19.2 设备发现406
19.3 udev的默认行为407
19.4 理解udev规则409
19.4.1 Modalias411
19.4.2 典型的udev规则配置414
19.4.3 udev的初始系统设置415
19.5 加载平台设备驱动程序417
19.6 定制udev的行为419
19.7 持久的设备命名420
19.8 udev和busybox配合使用423
19.8.1 busybox mdev423
19.8.2 配置mdev425
19.9 小结425
附录A 可配置的U-Boot命令427
附录B BusyBox命令430
附录C SDRAM接口注意事项440
附录D 开源资源447
附录E 简单的BDI-2000配置文件449

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.