分享
 
 
 

嵌入式Linux开发(英文版)

嵌入式Linux开发(英文版)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,操作系统,Linux,Linux 编程开发,
  品牌: Christopher Hallinan

基本信息·出版社:人民邮电出版社

·页码:537 页

·出版日期:2008年

·ISBN:9787115172259

·条形码:9787115172259

·包装版本:1版

·装帧:平装

·开本:16

·正文语种:英语

产品信息有问题吗?请帮我们更新产品信息。

内容简介本书是一部全面易懂的嵌入式Linux开发实用指南。主要内容包括:处理器基础、Linux内核、内核初始化、系统初始化、Bootloader、设备驱动基础、文件系统、MTD子系统、BusyBox、嵌入式开发环境、开发工具、内核调试技术、调试嵌入式Linux应用程序、Linux与实时等。

本书适合有一定的C语言编程基础,对本地局域网和互连网有基本了解的嵌入式开发人员和工程师阅读。

目录

Chapter 1Introduction1

1.1Why Linux?2

1.2Embedded Linux Today3

1.3Open Source and the GPL3

1.3.1Free Versus Freedom4

1.4Standards and Relevant Bodies5

1.4.1Linux Standard Base5

1.4.2Open Source Development Labs5

1.5Chapter Summary7

1.5.1Suggestions for Additional Reading7

Chapter 2Your First Embedded Experience9

2.1Embedded or Not?10

2.1.1BIOS Versus Bootloader11

2.2Anatomy of an Embedded System12

2.2.1Typical Embedded Linux Setup14

2.2.2Starting the Target Board15

2.2.3Booting the Kernel16

2.2.4Kernel Initialization: Overview17

2.2.5First User Space Process: init19

2.3Storage Considerations19

2.3.1Flash Memory20

2.3.2NAND Flash22

2.3.3Flash Usage23

2.3.4Flash File Systems24

2.3.5Memory Space25

2.3.6Execution Contexts26

2.3.7Process Virtual Memory28

2.3.8Cross-Development Environment30

2.4Embedded Linux Distributions32

2.4.1Commercial Linux Distributions33

2.4.2Do-It-Yourself Linux Distributions34

2.5Chapter Summary34

2.5.1Suggestions for Additional Reading35

Chapter 3Processor Basics37

3.1Stand-alone Processors38

3.1.1IBM 970FX39

3.1.2Intel Pentium M39

3.1.3Freescale MPC744840

3.1.4Companion Chipsets41

3.2Integrated Processors: Systems on Chip43

3.2.1PowerPC44

3.2.2AMCC PowerPC44

3.2.3Freescale PowerPC47

3.2.4MIPS52

3.2.5Broadcom MIPS53

3.2.6AMD MIPS55

3.2.7Other MIPS56

3.2.8ARM56

3.2.9TI ARM56

3.2.10Freescale ARM58

3.2.11Intel ARM XScale59

3.2.12Other ARM60

3.2.13Other Architectures60

3.3Hardware Platforms61

3.3.1CompactPCI61

3.3.2ATCA61

3.4Chapter Summary62

3.4.1Suggestions For Additional Reading63

Chapter 4The Linux Kernel——A Different Perspective65

4.1Background66

4.1.1Kernel Versions67

4.1.2Kernel Source Repositories69

4.2Linux Kernel Construction70

4.2.1Top-Level Source Directory70

4.2.2Compiling the Kernel71

4.2.3The Kernel Proper: vmlinux73

4.2.4Kernel Image Components75

4.2.5Subdirectory Layout79

4.3Kernel Build System79

4.3.1The Dot-Config80

4.3.2Configuration Editor(s)82

4.3.3Makefile Targets85

4.3.4Kernel Configuration88

4.3.5Custom Configuration Options90

4.3.6Kernel Makefiles94

4.3.7Kernel Documentation95

4.4Obtaining a Linux Kernel96

4.4.1What Else Do I Need?96

4.5Chapter Summary97

4.5.1Suggestions for Additional Reading98

Chapter 5Kernel Initialization99

5.1Composite Kernel Image: Piggy and Friends100

5.1.1The Image Object103

5.1.2Architecture Objects104

5.1.3Bootstrap Loader105

5.1.4Boot Messages106

5.2Initialization Flow of Control109

5.2.1Kernel Entry Point: head.o111

5.2.2Kernel Startup: main.c113

5.2.3Architecture Setup114

5.3Kernel Command Line Processing114

5.3.1The __setup Macro116

5.4Subsystem Initialization121

5.4.1The *__initcall Macros122

5.5The init Thread123

5.5.1Initialization via initcalls125

5.5.2Final Boot Steps126

5.6Chapter Summary128

5.6.1Suggestions for Additional Reading128

Chapter 6System Initialization129

6.1Root File System130

6.1.1FHS: File System Hierarchy Standard131

6.1.2File System Layout131

6.1.3Minimal File System132

6.1.4The Root FS Challenge134

6.1.5Trial-and-Error Method135

6.1.6Automated File System Build Tools135

6.2Kernel’s Last Boot Steps136

6.2.1First User Space Program137

6.2.2Resolving Dependencies138

6.2.3Customized Initial Process138

6.3The Init Process139

6.3.1inittab142

6.3.2Example Web Server Startup Script144

6.4Initial RAM Disk145

6.4.1Initial RAM Disk Purpose146

6.4.2Booting with initrd146

6.4.3Bootloader Support for initrd147

6.4.4initrd Magic: linuxrc149

6.4.5The initrd Plumbing150

6.4.6Building an initrd Image151

6.5Using initramfs152

6.6Shutdown153

6.7Chapter Summary154

6.7.1Suggestions for Additional Reading155

Chapter 7Bootloaders157

7.1Role of a Bootloader158

7.2Bootloader Challenges159

7.2.1DRAM Controller159

7.2.2Flash Versus RAM160

7.2.3Image Complexity160

7.2.4Execution Context163

7.3 AUniversal Bootloader: Das U-Boot164

7.3.1System Configuration: U-Boot164

7.3.2U-Boot Command Sets167

7.3.3Network Operations167

7.3.4Storage Subsystems170

7.3.5Booting from Disk: U-Boot171

7.4Porting U-Boot172

7.4.1EP405 U-Boot Port172

7.4.2U-Boot Makefile Configuration Target174

7.4.3EP405 Processor Initialization174

7.4.4Board-Specific Initialization177

7.4.5Porting Summary180

7.4.6U-Boot Image Format181

7.5Other Bootloaders183

7.5.1Lilo183

7.5.2GRUB184

7.5.3Still More Bootloaders186

7.6Chapter Summary186

7.6.1Suggestions for Additional Reading187

Chapter 8Device Driver Basics189

8.1Device Driver Concepts190

8.1.1Loadable Modules191

8.1.2Device Driver Architecture192

8.1.3Minimal Device Driver Example192

8.1.4Module Build Infrastructure193

8.1.5Installing Your Device Driver197

8.1.6Loading Your Module198

8.2Module Utilities199

8.2.1insmod199

8.2.2Module Parameters199

8.2.3lsmod201

8.2.4modprobe201

8.2.5depmod203

8.2.6rmmod203

8.2.7modinfo204

8.3Driver Methods205

8.3.1Driver File System Operations205

8.3.2Device Nodes and mknod208

8.4Bringing It All Together209

8.5Device Drivers and the GPL211

8.6Chapter Summary211

8.6.1Suggestions for Additional Reading212

Chapter 9File Systems213

9.1Linux File System Concepts214

9.1.1Partitions214

9.2ext2216

9.2.1Mounting a File System218

9.2.2Checking File System Integrity219

9.3ext3221

9.4ReiserFS224

9.5JFFS2225

9.6cramfs228

9.7Network File System230

9.7.1Root File System on NFS232

9.8Pseudo File Systems234

9.8.1Proc File System234

9.8.2sysfs238

9.9Other File Systems240

9.10Building a Simple File System242

9.11Chapter Summary243

9.11.1Suggestions for Additional Reading244

Chapter 10MTD Subsystem247

10.1Enabling MTD Services248

10.1.1Building MTD250

10.2MTD Basics251

10.2.1Configuring MTD253

10.3MTD Partitions253

10.3.1Redboot Partition Table Partitioning 255

10.3.2Kernel Command Line Partitioning259

10.3.3Mapping Driver260

10.3.4Flash Chip Drivers262

10.3.5Board-Specific Initialization263

10.4MTD Utilities265

10.4.1JFFS2 Root File System268

10.5Chapter Summary270

10.5.1Suggestions for Additional Reading271

Chapter 11BusyBox273

11.1Introduction to BusyBox274

11.1.1BusyBox is Easy275

11.2BusyBox Configuration275

11.2.1Cross-Compiling BusyBox277

11.3BusyBox Operation278

11.3.1BusyBox Init281

11.3.2Example rcS Initialization Script283

11.3.3BusyBox Target Installation284

11.3.4BusyBox Commands286

11.4Chapter Summary288

11.4.1Suggestions for Additional Reading288

Chapter 12Embedded Development Environment289

12.1Cross-Development Environment290

12.1.1“Hello World”——Embedded291

12.2Host System Requirements295

12.2.1Hardware Debug Probe296

12.3Hosting Target Boards296

12.3.1TFTP Server296

12.3.2BOOTP/DHCP Server298

12.3.3NFS Server300

12.3.4Target NFS Root Mount302

12.3.5U-Boot NFS Root Mount Example304

12.4Chapter Summary306

12.4.1Suggestions for Additional Reading307

Chapter 13Development Tools309

13.1GNU Debugger (GDB)310

13.1.1Debugging a Core Dump311

13.1.2Invoking GDB313

13.1.3Debug Session in GDB315

13.2Data Display Debugger317

13.3cbrowser/cscope319

13.4Tracing and Profiling Tools321

13.4.1strace321

13.4.2strace Variations325

13.4.3ltrace327

13.4.4ps328

13.4.5top330

13.4.6mtrace332

13.4.7dmalloc334

13.4.8Kernel Oops337

13.5Binary Utilities340

13.5.1readelf340

13.5.2Examining Debug Info Using readelf342

13.5.3objdump344

13.5.4objcopy345

13.6Miscellaneous Binary Utilities346

13.6.1strip346

13.6.2addr2line346

13.6.3strings347

13.6.4ldd347

13.6.5nm348

13.6.6prelink349

13.7Chapter Summary349

13.7.1Suggestions for Additional Reading350

Chapter 14Kernel Debugging Techniques351

14.1Challenges to Kernel Debugging352

14.2Using KGDB for Kernel Debugging353

14.2.1KGDB Kernel Configuration355

14.2.2Target Boot with KGDB Support355

14.2.3Useful Kernel Breakpoints358

14.3Debugging the Linux Kernel360

14.3.1gdb Remote Serial Protocol361

14.3.2Debugging Optimized Kernel Code364

14.3.3gdb User-Defined Commands369

14.3.4Useful Kernel gdb Macros370

14.3.5Debugging Loadable Modules378

14.3.6printk Debugging383

14.3.7Magic SysReq Key384

14.4Hardware-Assisted Debugging385

14.4.1Programming Flash Using a JTAG Probe387

14.4.2Debugging with a JTAG Probe389

14.5When It Doesn’t Boot392

14.5.1Early Serial Debug Output393

14.5.2Dumping the printk Log Buffer394

14.5.3KGDB on Panic396

14.6Chapter Summary397

14.6.1Suggestions for Additional Reading398

Chapter 15Debugging Embedded Linux Applications399

15.1Target Debugging400

15.2Remote (Cross) Debugging400

15.2.1gdbserver403

15.3Debugging with Shared Libraries405

15.3.1Shared Library Events in GDB407

15.4Debugging Multiple Tasks411

15.4.1Debugging Multiple Processes411

15.4.2Debugging Multithreaded Applications414

15.4.3Debugging Bootloader/Flash Code417

15.5Additional Remote Debug Options417

15.5.1Debugging via Serial Port418

15.5.2Attaching to a Running Process418

15.6Chapter Summary419

15.6.1Suggestions for Additional Reading419

Chapter 16Porting Linux421

16.1Linux Source Organization422

16.1.1The Architecture Branch422

16.2Custom Linux for Your Board424

16.2.1Prerequisites and Assumptions426

16.2.2Customizing Kernel Initialization427

16.2.3Static Kernel Command Line429

16.3Platform Initialization431

16.3.1Early Variable Access435

16.3.2Board Information Structure436

16.3.3Machine-Dependent Calls438

16.4Putting It All Together439

16.4.1Other Architectures442

16.5Chapter Summary442

16.5.1Suggestions for Additional Reading443

Chapter 17Linux and Real Time445

17.1What Is Real Time?446

17.1.1Soft Real Time446

17.1.2Hard Real Time446

17.1.3Linux Scheduling447

17.1.4Latency447

17.2Kernel Preemption449

17.2.1Impediments to Preemption449

17.2.2Preemption Models451

17.2.3SMP Kernel452

17.2.4Sources of Preemption Latency453

17.3Real-Time Kernel Patch453

17.3.1Real-Time Features455

17.3.2O(1) Scheduler458

17.3.3Creating a Real-Time Process458

17.3.4Critical Section Management459

17.4Debugging the Real-Time Kernel460

17.4.1Soft Lockup Detection460

17.4.2Preemption Debugging461

17.4.3Debug Wakeup Timing461

17.4.4Wakeup Latency History462

17.4.5Interrupt Off Timing462

17.4.6Interrupt Off History462

17.4.7Latency Tracing464

17.4.8Debugging Deadlock Conditions466

17.4.9Runtime Control of Locking Mode467

17.5Chapter Summary467

17.5.1Suggestions for Additional Reading467

Appendix A: GNU Public License469

Appendix B: U-Boot Configurable Commands479

Appendix C: BusyBox Commands483

Appendix D: SDRAM Interface Considerations491

D.1SDRAM Basics492

D.1.1SDRAM Refresh493

D.2Clocking494

D.3SDRAM Setup495

D.4Summary500

D.4.1Suggestions for Additional Reading500

Appendix E: Open Source Resources501

Appendix F: Sample BDI-2000 Configuration File505

Index513

……[看更多目录]

文摘�

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有