登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』嵌入式Linux基础教程(第2版·英文版)(嵌入式Linux权威著作,Amazon全五星评价)

書城自編碼: 1839071
分類:簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: [美]Christopher
國際書號(ISBN): 9787115268693
出版社: 人民邮电出版社
出版日期: 2012-01-01
版次: 1 印次: 1
頁數/字數: 616/616000
書度/開本: 16开 釘裝: 平装

售價:HK$ 292.1

我要買

 

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


新書推薦:
独立战争与世界重启:一部新的十八世纪晚期全球史(方尖碑书系)
《 独立战争与世界重启:一部新的十八世纪晚期全球史(方尖碑书系) 》

售價:HK$ 141.6
中国绘画史(第三卷)
《 中国绘画史(第三卷) 》

售價:HK$ 357.6
德兰修女传:在爱中行走(世界名人名传典藏系列)
《 德兰修女传:在爱中行走(世界名人名传典藏系列) 》

售價:HK$ 60.0
抗癌饮食指导
《 抗癌饮食指导 》

售價:HK$ 94.8
编织大花园.7,趣味十足的时尚编织
《 编织大花园.7,趣味十足的时尚编织 》

售價:HK$ 82.8
游戏三部曲:游戏改变未来+游戏改变世界+游戏改变人生(套装共3册)
《 游戏三部曲:游戏改变未来+游戏改变世界+游戏改变人生(套装共3册) 》

售價:HK$ 347.6
修昔底德与政治秩序
《 修昔底德与政治秩序 》

售價:HK$ 82.8
大学问·魏晋清谈史
《 大学问·魏晋清谈史 》

售價:HK$ 117.6

 

建議一齊購買:

+

HK$ 238.5
《 UNIX环境高级编程(英文版 第3版) 》
+

HK$ 236.8
《 Windows程序设计 第6版 微软技术丛书 》
+

HK$ 292.3
《 精通Windows Server 2012 R2 第5版  》
+

HK$ 283.4
《 精通iOS开发(第6版)(中文版累计销量逾50000册!全球数百万iOS开发者交口称赞的iOS游戏开发指南编程圣经) 》
+

HK$ 289.1
《 深入理解LINUX内核(第三版) 》
+

HK$ 156.4
《 大规模分布式存储系统:原理解析与架构实战(阿里巴巴高级技术专家撰写,系统讲解构建大规模存储系统的核心技术和原理,详细分析Google、Amazon、Microsoft和阿里巴巴的大规模分布式存储系统的原理。) 》
編輯推薦:
广泛的硬件支持、高效稳定的内核、开源共享的软件、优秀的开发工具、完善的网络通信和文件管理机制等特点,使嵌入式Linux获得了广泛应用,已成为嵌入式开发的主流平台。
《嵌入式Linux基础教程第2版英文版》是嵌入式Linux领域名著,全面深入而又简明地阐述了构建嵌入式Linux系统的精髓。
书中不仅剖析了嵌入式Linux系统。而且讲述了处理器、内核、引导装入程序、设备驱动程序、文件系统等关键组件,介绍了嵌入式Linux系统的开发工具、调试技术。
作者多年积累总结的嵌入式Linux开发技巧和提示,无论对初学者还是有经验的开发人员,都弥足珍贵。
这一版不仅对原有章节进行了全面的修订、更新和改进。还新增了udev、USB和开源构建系统等内容。
嵌入式Linux权威著作。Amazon全五星评价。全面剖析嵌入式Linux开发,揭示大量技术内幕。
內容簡介:
《嵌入式Linux基础教程第2版·英文版》是嵌入式Linux的经典教程,介绍了引导装入程序、系统初始化、文件系统、闪存和内核、应用程序调试技巧等,还讲述了构建Linux系统的工作原理,用于驱动不同体系结构的配置,Linux内核源码树的特性,如何根据需求配制内核运行时的行为,如何扩展系统功能,用于构建完整嵌入式Linux发行版的常用构建系统,USB子系统和系统配置工具udev等内容。更重要的是,《嵌入式Linux基础教程第2版·英文版》阐述了如何修改系统使之满足读者自己的需求,使读者能从中学习一些嵌入式工程中非常有用的提示和技巧。
《嵌入式Linux基础教程第2版·英文版》适合Linux程序员阅读,也可作为高等院校相关专业师生的参考读物。
關於作者:
“这本书很令我振奋,它为那些想在嵌入式系统中使用Linux的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理,Christopher的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能享受到阅读的乐趣。”
——Arnold Robbins,著名Linux专家
“本书涵盖了嵌入式Linux开发的方方面面……强烈推荐每一位嵌入式Linux开发人员阅读。”
——LinuxQuestions.org
目錄
目 录
Chapter 1 Introduction 1
1.1 Why Linux? 2
1.2 Embedded Linux Today 3
1.3 Open Source and the GPL 3
1.3.1 Free Versus Freedom 4
1.4 Standards and Relevant Bodies 5
1.4.1 Linux Standard Base 5
1.4.2 Linux Foundation 6
1.4.3 Carrier-Grade Linux 6
1.4.4 Mobile Linux Initiative: Moblin 7
1.4.5 Service Availability Forum 7
1.5 Summary 8
1.5.1 Suggestions for Additional Reading 8
Chapter 2 The Big Picture 9
2.1 Embedded or Not? 10
2.1.1 BIOS Versus Bootloader 11
2.2 Anatomy of an Embedded System 12
2.2.1 Typical Embedded Linux Setup 13
2.2.2 Starting the Target Board 14
2.2.3 Booting the Kernel 16
2.2.4 Kernel Initialization: Overview 18
2.2.5 First User Space Process: init 19
2.3 Storage Considerations 20
2.3.1 Flash Memory 20
2.3.2 NAND Flash 22
2.1.1 BIOS Versus Bootloader 11
2.2 Anatomy of an Embedded System 12
2.2.1 Typical Embedded Linux Setup 13
2.2.2 Starting the Target Board 14
2.2.3 Booting the Kernel 16
2.2.4 Kernel Initialization: Overview 18
2.2.5 First User Space Process: init 19
2.3 Storage Considerations 20
2.3.1 Flash Memory 20
2.3.2 NAND Flash 22
2.3.3 Flash Usage 23
2.3.4 Flash File Systems 24
2.3.5 Memory Space 25
2.3.6 Execution Contexts 26
2.3.7 Process Virtual Memory 28
2.3.8 Cross-Development Environment 30
2.4 Embedded Linux Distributions 32
2.4.1 Commercial Linux Distributions 33
2.4.2 Do-It-Yourself Linux Distributions 33
2.5 Summary 34
2.5.1 Suggestions for Additional Reading 35
Chapter 3 Processor Basics 37
3.1 Stand-Alone Processors 38
3.1.1 IBM 970FX 39
3.1.2 Intel Pentium M 39
3.1.3 Intel Atom? 40
3.1.4 Freescale MPC7448 40
3.1.5 Companion Chipsets 41
3.2 Integrated Processors: Systems on Chip 43
3.2.1 Power Architecture 44
3.2.2 Freescale Power Architecture 44
3.2.3 Freescale PowerQUICC I 45
3.2.4 Freescale PowerQUICC II 46
3.2.5 PowerQUICC II Pro 47
3.2.6 Freescale PowerQUICC III 48
3.2.7 Freescale QorIQ? 48
3.1.4 Freescale MPC7448 40
3.1.5 Companion Chipsets 41
3.2 Integrated Processors: Systems on Chip 43
3.2.1 Power Architecture 44
3.2.2 Freescale Power Architecture 44
3.2.3 Freescale PowerQUICC I 45
3.2.4 Freescale PowerQUICC II 46
3.2.5 PowerQUICC II Pro 47
3.2.6 Freescale PowerQUICC III 48
3.2.7 Freescale QorIQ? 48
3.2.8 AMCC Power Architecture 50
3.2.9 MIPS 53
3.2.10 Broadcom MIPS 54
3.2.11 Other MIPS 55
3.2.12 ARM 55
3.2.13 TI ARM 56
3.2.14 Freescale ARM 58
3.2.15 Other ARM Processors 59
3.3 Other Architectures 59
3.4 Hardware Platforms 60
3.4.1 CompactPCI 60
3.4.2 ATCA 60
3.5 Summary 61
3.5.1 Suggestions for Additional Reading 62
Chapter 4 The Linux Kernel: A Different Perspective 63
4.1 Background 64
4.1.1 Kernel Versions 65
4.1.2 Kernel Source Repositories 67
4.1.3 Using git to Download a Kernel 68
4.2 Linux Kernel Construction 68
4.2.1 Top-Level Source Directory 69
4.2.2 Compiling the Kernel 69
4.2.3 The Kernel Proper: vmlinux 72
4.2.4 Kernel Image Components 73
4.2.5 Subdirectory Layout 77
4.3 Kernel Build System 78
4.1.1 Kernel Versions 65
4.1.2 Kernel Source Repositories 67
4.1.3 Using git to Download a Kernel 68
4.2 Linux Kernel Construction 68
4.2.1 Top-Level Source Directory 69
4.2.2 Compiling the Kernel 69
4.2.3 The Kernel Proper: vmlinux 72
4.2.4 Kernel Image Components 73
4.2.5 Subdirectory Layout 77
4.3 Kernel Build System 78
4.3.1 The Dot-Config 78
4.3.2 Configuration Editors 80
4.3.3 Makefile Targets 83
4.4 Kernel Configuration 89
4.4.1 Custom Configuration Options 91
4.4.2 Kernel Makefiles 95
4.5 Kernel Documentation 96
4.6 Obtaining a Custom Linux Kernel 96
4.6.1 What Else Do I Need? 97
4.7 Summary 97
4.7.1 Suggestions for Additional Reading 98
Chapter 5 Kernel Initialization 99
5.1 Composite Kernel Image: Piggy and Friends 100
5.1.1 The Image Object 103
5.1.2 Architecture Objects 104
5.1.3 Bootstrap Loader 105
5.1.4 Boot Messages 106
5.2 Initialization Flow of Control 109
5.2.1 Kernel Entry Point: head.o 111
5.2.2 Kernel Startup: main.c 113
5.2.3 Architecture Setup 114
5.3 Kernel Command-Line Processing 115
5.3.1 The __setup Macro 116
5.4 Subsystem Initialization 122
5.4.1 The *__initcall Macros 122
5.5 The init Thread 125
5.2 Initialization Flow of Control 109
5.2.1 Kernel Entry Point: head.o 111
5.2.2 Kernel Startup: main.c 113
5.2.3 Architecture Setup 114
5.3 Kernel Command-Line Processing 115
5.3.1 The __setup Macro 116
5.4 Subsystem Initialization 122
5.4.1 The *__initcall Macros 122
5.5 The init Thread 125
5.5.1 Initialization Via initcalls 126
5.5.2 initcall_debug 127
5.5.3 Final Boot Steps 127
5.6 Summary 129
5.6.1 Suggestions for Additional Reading 130
Chapter 6 User Space Initialization 131
6.1 Root File System 132
6.1.1 FHS: File System Hierarchy Standard 133
6.1.2 File System Layout 133
6.1.3 Minimal File System 134
6.1.4 The Embedded Root FS Challenge 136
6.1.5 Trial-and-Error Method 137
6.1.6 Automated File System Build Tools 137
6.2 Kernel’s Last Boot Steps 137
6.2.1 First User Space Program 139
6.2.2 Resolving Dependencies 139
6.2.3 Customized Initial Process 140
6.3 The init Process 140
6.3.1 inittab 143
6.3.2 Sample Web Server Startup Script 145
6.4 Initial RAM Disk 146
6.4.1 Booting with initrd 147
6.4.2 Bootloader Support for initrd 148
6.4.3 initrd Magic: linuxrc 150
6.4.4 The initrd Plumbing 151
6.4.5 Building an initrd Image 152
6.5 Using initramfs 153
6.5.1 Customizing 154
6.3.1 inittab 143
6.3.2 Sample Web Server Startup Script 145
6.4 Initial RAM Disk 146
6.4.1 Booting with initrd 147
6.4.2 Bootloader Support for initrd 148
6.4.3 initrd Magic: linuxrc 150
6.4.4 The initrd Plumbing 151
6.4.5 Building an initrd Image 152
6.5 Using initramfs 153
6.5.1 Customizing initramfs 154
6.6 Shutdown 156
6.7 Summary 156
6.7.1 Suggestions for Additional Reading 157
Chapter 7 Bootloaders 159
7.1 Role of a Bootloader 160
7.2 Bootloader Challenges 161
7.2.1 DRAM Controller 161
7.2.2 Flash Versus RAM 162
7.2.3 Image Complexity 162
7.2.4 Execution Context 165
7.3 A Universal Bootloader: Das U-Boot 166
7.3.1 Obtaining U-Boot 166
7.3.2 Configuring U-Boot 167
7.3.3 U-Boot Monitor Commands 169
7.3.4 Network Operations 170
7.3.5 Storage Subsystems 173
7.3.6 Booting from Disk 174
7.4 Porting U-Boot 174
7.4.1 EP405 U-Boot Port 175
7.4.2 U-Boot Makefile Configuration Target 176
7.4.3 EP405 First Build 177
7.4.4 EP405 Processor Initialization 178
7.4.5 Board-Specific Initialization 181
7.4.6 Porting Summary 184
7.4.7 U-Boot Image Format 185
7.5 Device Tree Blob Flat Device Tree 187
7.3.6 Booting from Disk 174
7.4 Porting U-Boot 174
7.4.1 EP405 U-Boot Port 175
7.4.2 U-Boot Makefile Configuration Target 176
7.4.3 EP405 First Build 177
7.4.4 EP405 Processor Initialization 178
7.4.5 Board-Specific Initialization 181
7.4.6 Porting Summary 184
7.4.7 U-Boot Image Format 185
7.5 Device Tree Blob Flat Device Tree 187
7.5.1 Device Tree Source 189
7.5.2 Device Tree Compiler 192
7.5.3 Alternative Kernel Images Using DTB 193
7.6 Other Bootloaders 194
7.6.1 Lilo 194
7.6.2 GRUB 195
7.6.3 Still More Bootloaders 197
7.7 Summary 197
7.7.1 Suggestions for Additional Reading 198
Chapter 8 Device Driver Basics 201
8.1 Device Driver Concepts 202
8.1.1 Loadable Modules 203
8.1.2 Device Driver Architecture 204
8.1.3 Minimal Device Driver Example 204
8.1.4 Module Build Infrastructure 205
8.1.5 Installing a Device Driver 209
8.1.6 Loading a Module 210
8.1.7 Module Parameters 211
8.2 Module Utilities 212
8.2.1 insmod 212
8.2.2 lsmod 213
8.2.3 modprobe 213
8.2.4 depmod 214
8.2.5 rmmod 215
8.2.6 modinfo 216
8.3 Driver Methods 217
8.1.5 Installing a Device Driver 209
8.1.6 Loading a Module 210
8.1.7 Module Parameters 211
8.2 Module Utilities 212
8.2.1 insmod 212
8.2.2 lsmod 213
8.2.3 modprobe 213
8.2.4 depmod 214
8.2.5 rmmod 215
8.2.6 modinfo 216
8.3 Driver Methods 217
8.3.1 Driver File System Operations 217
8.3.2 Allocation of Device Numbers 220
8.3.3 Device Nodes and mknod 220
8.4 Bringing It All Together 222
8.5 Building Out-of-Tree Drivers 223
8.6 Device Drivers and the GPL 224
8.7 Summary 225
8.7.1 Suggestions for Additional Reading 226
Chapter 9 File Systems 227
9.1 Linux File System Concepts 228
9.1.1 Partitions 229
9.2 ext2 230
9.2.1 Mounting a File System 232
9.2.2 Checking File System Integrity 233
9.3 ext3 235
9.4 ext4 237
9.5 ReiserFS 238
9.6 JFFS2 239
9.6.1 Building a JFFS2 Image 240
9.7 cramfs 242
9.8 Network File System 244
9.8.1 Root File System on NFS 246
9.9 Pseudo File Systems 248
9.9.1 proc File System 249
9.9.2 sysfs 252
9.4 ext4 237
9.5 ReiserFS 238
9.6 JFFS2 239
9.6.1 Building a JFFS2 Image 240
9.7 cramfs 242
9.8 Network File System 244
9.8.1 Root File System on NFS 246
9.9 Pseudo File Systems 248
9.9.1 proc File System 249
9.9.2 sysfs 252
9.10 Other File Systems 255
9.11 Building a Simple File System 256
9.12 Summary 258
9.12.1 Suggestions for Additional Reading 259
Chapter 10 MTD Subsystem 261
10.1 MTD Overview 262
10.1.1 Enabling MTD Services 263
10.1.2 MTD Basics 265
10.1.3 Configuring MTD on Your Target 267
10.2 MTD Partitions 267
10.2.1 Redboot Partition Table Partitioning 269
10.2.2 Kernel Command-Line Partitioning 273
10.2.3 Mapping Driver 274
10.2.4 Flash Chip Drivers 276
10.2.5 Board-Specific Initialization 276
10.3 MTD Utilities 279
10.3.1 JFFS2 Root File System 281
10.4 UBI File System 284
10.4.1 Configuring for UBIFS 284
10.4.2 Building a UBIFS Image 284
10.4.3 Using UBIFS as the Root File System 287
10.5 Summary 287
10.5.1 Suggestions for Additional Reading 288
Chapter 11 BusyBox 289
11.1 Introduction to BusyBox 290
11.1.1 BusyBox Is Easy 291
11.2 BusyBox Configuration 291
11.2.1 Cross-Compiling BusyBox 293
11.3 BusyBox Operation 293
11.3.1 BusyBox init 297
11.3.2 Sample rcS Initialization Script 299
11.3.3 BusyBox Target Installation 300
11.3.4 BusyBox Applets 302
11.4 Summary 303
11.4.1 Suggestions for Additional Reading 304
Chapter 12 Embedded Development Environment 305
12.1 Cross-Development Environment 306
12.1.1 “Hello World” Embedded 307
12.2 Host System Requirements 311
12.2.1 Hardware Debug Probe 311
12.3 Hosting Target Boards 312
12.3.1 TFTP Server 312
12.3.2 BOOTPDHCP Server 313
12.3.3 NFS Server 316
12.3.4 Target NFS Root Mount 318
12.3.5 U-Boot NFS Root Mount Example 320
12.4 Summary 322
12.4.1 Suggestions for Additional Reading 323
Chapter 13 Development Tools 325
13.1 GNU Debugger GDB 326
12.3 Hosting Target Boards 312
12.3.1 TFTP Server 312
12.3.2 BOOTPDHCP Server 313
12.3.3 NFS Server 316
12.3.4 Target NFS Root Mount 318
12.3.5 U-Boot NFS Root Mount Example 320
12.4 Summary 322
12.4.1 Suggestions for Additional Reading 323
Chapter 13 Development Tools 325
13.1 GNU Debugger GDB 326
13.1.1 Debugging a Core Dump 327
13.1.2 Invoking GDB 329
13.1.3 Debug Session in GDB 331
13.2 Data Display Debugger 333
13.3 cbrowsercscope 335
13.4 Tracing and Profiling Tools 337
13.4.1 strace 337
13.4.2 strace Variations 341
13.4.3 ltrace 343
13.4.4 ps 344
13.4.5 top 346
13.4.6 mtrace 348
13.4.7 dmalloc 350
13.4.8 Kernel Oops353
13.5 Binary Utilities 355
13.5.1 readelf 355
13.5.2 Examining Debug Information Using readelf 357
13.5.3 objdump 359
13.5.4 objcopy 360
13.6 Miscellaneous Binary Utilities 361
13.6.1 strip 361
13.6.2 addr2line 361
13.6.3 strings 362
13.6.4 ldd 362
13.6.5 nm 363
13.6.6 prelink 364
13.5.2 Examining Debug Information Using readelf 357
13.5.3 objdump 359
13.5.4 objcopy 360
13.6 Miscellaneous Binary Utilities 361
13.6.1 strip 361
13.6.2 addr2line 361
13.6.3 strings 362
13.6.4 ldd 362
13.6.5 nm 363
13.6.6 prelink 364
13.7 Summary  364
13.7.1 Suggestions for Additional Reading 365
Chapter 14 Kernel Debugging Techniques 367
14.1 Challenges to Kernel Debugging 368
14.2 Using KGDB for Kernel Debugging 369
14.2.1 KGDB Kernel Configuration 371
14.2.2 Target Boot with KGDB Support 372
14.2.3 Useful Kernel Breakpoints 376
14.2.4 Sharing a Console Serial Port with KGDB 377
14.2.5 Debugging Very Early Kernel Code 379
14.2.6 KGDB Support in the Mainline Kernel 380
14.3 Kernel Debugging Techniques 381
14.3.1 gdb Remote Serial Protocol 382
14.3.2 Debugging Optimized Kernel Code 385
14.3.3 GDB User-Defined Commands 392
14.3.4 Useful Kernel GDB Macros 393
14.3.5 Debugging Loadable Modules 402
14.3.6 printk Debugging 407
14.3.7 Magic SysReq Key 409
14.4 Hardware-Assisted Debugging 410
14.4.1 Programming Flash Using a JTAG Probe 411
14.4.2 Debugging with a JTAG Probe 413
14.5 When It Doesn’t Boot 417
14.5.1 Early Serial Debug Output 417
14.5.2 Dumping the printk Log Buffer 417
14.5.3 KGDB on Panic 420
14.3.4 Useful Kernel GDB Macros 393
14.3.5 Debugging Loadable Modules 402
14.3.6 printk Debugging 407
14.3.7 Magic SysReq Key 409
14.4 Hardware-Assisted Debugging 410
14.4.1 Programming Flash Using a JTAG Probe 411
14.4.2 Debugging with a JTAG Probe 413
14.5 When It Doesn’t Boot 417
14.5.1 Early Serial Debug Output 417
14.5.2 Dumping the printk Log Buffer 417
14.5.3 KGDB on Panic 420
14.6 Summary 421
14.6.1 Suggestions for Additional Reading 422
Chapter 15 Debugging Embedded Linux Applications 423
15.1 Target Debugging 424
15.2 Remote Cross Debugging 424
15.2.1 gdbserver 427
15.3 Debugging with Shared Libraries 429
15.3.1 Shared Library Events in GDB 431
15.4 Debugging Multiple Tasks 435
15.4.1 Debugging Multiple Processes 435
15.4.2 Debugging Multithreaded Applications 438
15.4.3 Debugging BootloaderFlash Code 441
15.5 Additional Remote Debug Options 442
15.5.1 Debugging Using a Serial Port 442
15.5.2 Attaching to a Running Process 442
15.6 Summary 443
15.6.1 Suggestions for Additional Reading 444
Chapter 16 Open Source Build Systems 445
16.1 Why Use a Build System? 446
16.2 Scratchbox 447
16.2.1 Installing Scratchbox 447
16.2.2 Creating a Cross-Compilation Target 448
16.3 Buildroot 451
16.3.1 Buildroot Installation 451
16.3.2 Buildroot Configuration 451
15.6 Summary 443
15.6.1 Suggestions for Additional Reading 444
Chapter 16 Open Source Build Systems 445
16.1 Why Use a Build System? 446
16.2 Scratchbox 447
16.2.1 Installing Scratchbox 447
16.2.2 Creating a Cross-Compilation Target 448
16.3 Buildroot 451
16.3.1 Buildroot Installation 451
16.3.2 Buildroot Configuration 451
16.3.3 Buildroot Build 452
16.4 OpenEmbedded 454
16.4.1 OpenEmbedded Composition 455
16.4.2 BitBake Metadata 456
16.4.3 Recipe Basics 456
16.4.4 Metadata Tasks 460
16.4.5 Metadata Classes 461
16.4.6 Configuring OpenEmbedded 462
16.4.7 Building Images 463
16.5 Summary 464
16.5.1 Suggestions for Additional Reading 464
Chapter 17 Linux and Real Time 465
17.1 What Is Real Time? 466
17.1.1 Soft Real Time 466
17.1.2 Hard Real Time 467
17.1.3 Linux Scheduling 467
17.1.4 Latency 467
17.2 Kernel Preemption 469
17.2.1 Impediments to Preemption 469
17.2.2 Preemption Models 471
17.2.3 SMP Kernel 472
17.2.4 Sources of Preemption Latency 473
17.3 Real-Time Kernel Patch 473
17.3.1 Real-Time Features 475
17.3.2 O1 Scheduler 476
17.1.3 Linux Scheduling 467
17.1.4 Latency 467
17.2 Kernel Preemption 469
17.2.1 Impediments to Preemption 469
17.2.2 Preemption Models 471
17.2.3 SMP Kernel 472
17.2.4 Sources of Preemption Latency 473
17.3 Real-Time Kernel Patch 473
17.3.1 Real-Time Features 475
17.3.2 O1 Scheduler 476
17.3.3 Creating a Real-Time Process 477
17.4 Real-Time Kernel Performance Analysis 478
17.4.1 Using Ftrace for Tracing 478
17.4.2 Preemption Off Latency Measurement 479
17.4.3 Wakeup Latency Measurement 481
17.4.4 Interrupt Off Timing 483
17.4.5 Soft Lockup Detection 484
17.5 Summary 485
17.5.1 Suggestion for Additional Reading 485
Chapter 18 Universal Serial Bus 487
18.1 USB Overview 488
18.1.1 USB Physical Topology 488
18.1.2 USB Logical Topology 490
18.1.3 USB Revisions 491
18.1.4 USB Connectors 492
18.1.5 USB Cable Assemblies 494
18.1.6 USB Modes 494
18.2 Configuring USB 495
18.2.1 USB Initialization 497
18.3 sysfs and USB Device Naming 500
18.4 Useful USB Tools 502
18.4.1 USB File System 502
18.4.2 Using usbview 504
18.4.3  USB Utils lsusb 507
18.5 Common USB Subsystems 508
18.5.1 USB Mass Storage Class 508
18.1.6 USB Modes 494
18.2 Configuring USB 495
18.2.1 USB Initialization 497
18.3 sysfs and USB Device Naming 500
18.4 Useful USB Tools 502
18.4.1 USB File System 502
18.4.2 Using usbview 504
18.4.3 USB Utils lsusb 507
18.5 Common USB Subsystems 508
18.5.1 USB Mass Storage Class 508
18.5.2 USB HID Class 511
18.5.3 USB CDC Class Drivers 512
18.5.4 USB Network Support 515
18.6 USB Debug 516
18.6.1 usbmon 517
18.6.2 Useful USB Miscellanea 518
18.7 Summary 519
18.7.1 Suggestions for Additional Reading 519
Chapter 19 udev 521
19.1 What Is udev? 522
19.2 Device Discovery 523
19.3 Default udev Behavior 525
19.4 Understanding udev Rules 527
19.4.1 Modalias 530
19.4.2 Typical udev Rules Configuration 533
19.4.3 Initial System Setup for udev 535
19.5 Loading Platform Device Drivers 538
19.6 Customizing udev Behavior 540
19.6.1 udev Customization Example: USB Automounting 540
19.7 Persistent Device Naming 541
19.7.1 udev Helper Utilities 542
19.8 Using udev with busybox 545
19.8.1 busybox mdev 545
19.8.2 Configuring mdev 547
19.9 Summary 548
19.9.1 Suggestions for Additional Reading 548
19.6 Customizing udev Behavior 540
19.6.1 udev Customization Example: USB Automounting 540
19.7 Persistent Device Naming 541
19.7.1 udev Helper Utilities 542
19.8 Using udev with busybox 545
19.8.1 busybox mdev 545
19.8.2 Configuring mdev 547
19.9 Summary 548
19.9.1 Suggestions for Additional Reading 548
Appendix A GNU Public License 549
Preamble 550
Terms and Conditions for Copying, Distribution, and Modification 551
No Warranty 555
Appendix B U-Boot Configurable Commands 557
Appendix C BusyBox Commands 561
Appendix D SDRAM Interface Considerations 571
D.1 SDRAM Basics 572
D.1.1 SDRAM Refresh 573
D.2 Clocking 574
D.3 SDRAM Setup 575
D.4 Summary 580
D.4.1 Suggestions for Additional Reading 580
Appendix E Open Source Resources 581
Source Repositories and Developer Information 582
Mailing Lists 582
Linux News and Developments 583
Open Source Legal Insight and Discussion 583
Appendix F Sample BDI-2000 Configuration File 585
Index 593

 

 

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