Christopher hallinan embedded linux primer
Размер шрифта:
14 | 16 | 18 | 20 | 22 | 24
Цвет текста:
Установить
Цвет фона:
Установить
Practical Advice for the Practicing Embedded Developer
What This Book Is Not
Organization of the Book
GPL Copyright Notice
Chapter 1. Introduction
1.2. Embedded Linux Today
1.3. Open Source and the GPL
1.4. Standards and Relevant Bodies
1.5. Chapter Summary
1.5.1. Suggestions for Additional Reading
Chapter 2. Your First Embedded Experience
2.1. Embedded or Not?
2.2. Anatomy of an Embedded System
2.3. Storage Considerations
2.4. Embedded Linux Distributions
2.5. Chapter Summary
Chapter 3. Processor Basics
3.1. Stand-alone Processors
3.2. Integrated Processors: Systems on Chip
3.3. Hardware Platforms
3.4. Chapter Summary
Chapter 4. The Linux KernelA Different Perspective
4.2. Linux Kernel Construction
4.3. Kernel Build System
4.4. Obtaining a Linux Kernel
Chapter 5. Kernel Initialization
5.1. Composite Kernel Image: Piggy and Friends
5.2. Initialization Flow of Control
5.3. Kernel Command Line Processing
5.4. Subsystem Initialization
5.5. The init Thread
5.6. Chapter Summary
Chapter 6. System Initialization
6.1. Root File System
6.2. Kernel’s Last Boot Steps
6.3. The Init Process
6.4. Initial RAM Disk
6.5. Using initramfs
6.7. Chapter Summary
Chapter 7. Bootloaders
7.1. Role of a Bootloader
7.2. Bootloader Challenges
7.3. A Universal Bootloader: Das U-Boot
7.5. Other Bootloaders
7.6. Chapter Summary
Chapter 8. Device Driver Basics
8.1. Device Driver Concepts
8.2. Module Utilities
8.4. Bringing It All Together
8.5. Device Drivers and the GPL
8.6. Chapter Summary
Chapter 9. File Systems
9.1. Linux File System Concepts
9.2.1. Mounting a File System
9.2.2. Checking File System Integrity
9.7. Network File System
9.8. Pseudo File Systems
9.9. Other File Systems
9.10. Building a Simple File System
9.11. Chapter Summary
Chapter 10. MTD Subsystem
10.1. Enabling MTD Services
10.3. MTD Partitions
10.5. Chapter Summary
Chapter 11. BusyBox
11.1. Introduction to BusyBox
11.2. BusyBox Configuration
11.3. BusyBox Operation
11.4. Chapter Summary
Chapter 12. Embedded Development Environment
12.1. Cross-Development Environment
12.2. Host System Requirements
12.3. Hosting Target Boards
12.4. Chapter Summary
Chapter 13. Development Tools
13.1. GNU Debugger (GDB)
13.2. Data Display Debugger
13.4. Tracing and Profiling Tools
13.5. Binary Utilities
13.6. Miscellaneous Binary Utilities
13.7. Chapter Summary
Chapter 14. Kernel Debugging Techniques
14.1. Challenges to Kernel Debugging
14.2. Using KGDB for Kernel Debugging
14.3. Debugging the Linux Kernel
14.4. Hardware-Assisted Debugging
14.5. When It Doesn’t Boot
14.6. Chapter Summary
Chapter 15. Debugging Embedded Linux Applications
15.1. Target Debugging
15.2. Remote (Cross) Debugging
15.3. Debugging with Shared Libraries
15.4. Debugging Multiple Tasks
15.5. Additional Remote Debug Options
15.6. Chapter Summary
Chapter 16. Porting Linux
16.1. Linux Source Organization
16.2. Custom Linux for Your Board
16.3. Platform Initialization
16.4. Putting It All Together
16.5. Chapter Summary
Chapter 17. Linux and Real Time
17.1. What Is Real Time?
17.2. Kernel Preemption
17.3. Real-Time Kernel Patch
17.4. Debugging the Real-Time Kernel
17.5. Chapter Summary
Appendix A. GNU Public License
Terms and Conditions for Copying, Distribution and Modification
Appendix B. U-Boot Configurable Commands
Appendix C. BusyBox Commands
Appendix D. SDRAM Interface Considerations
Appendix E. Open Source Resources
Source Repositories and Developer Information
Linux News and Developments
Open Source Insight and Discussion
Appendix F. Sample BDI-2000 Configuration File
Christopher Hallinan: Embedded Linux Primer: A Practical, Real-World Approach
Здесь есть возможность читать онлайн «Christopher Hallinan: Embedded Linux Primer: A Practical, Real-World Approach» весь текст электронной книги совершенно бесплатно (целиком полную версию). В некоторых случаях присутствует краткое содержание. год выпуска: 2006, ISBN: 978-0-13-167984-9, издательство: Prentice Hall, категория: ОС и Сети / на английском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале. Библиотека «Либ Кат» — LibCat.ru создана для любителей полистать хорошую книжку и предлагает широкий выбор жанров:
Выбрав категорию по душе Вы сможете найти действительно стоящие книги и насладиться погружением в мир воображения, прочувствовать переживания героев или узнать для себя что-то новое, совершить внутреннее открытие. Подробная информация для ознакомления по текущему запросу представлена ниже:
Embedded Linux Primer: A Practical, Real-World Approach: краткое содержание, описание и аннотация
Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Embedded Linux Primer: A Practical, Real-World Approach»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.
Christopher Hallinan: другие книги автора
Кто написал Embedded Linux Primer: A Practical, Real-World Approach? Узнайте фамилию, как зовут автора книги и список всех его произведений по сериям.
Возможность размещать книги на на нашем сайте есть у любого зарегистрированного пользователя. Если Ваша книга была опубликована без Вашего на то согласия, пожалуйста, направьте Вашу жалобу на info@libcat.ru или заполните форму обратной связи.
В течение 24 часов мы закроем доступ к нелегально размещенному контенту.
Embedded Linux Primer: A Practical, Real-World Approach — читать онлайн бесплатно полную книгу (весь текст) целиком
Ниже представлен текст книги, разбитый по страницам. Система автоматического сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Embedded Linux Primer: A Practical, Real-World Approach», без необходимости каждый раз заново искать на чём Вы остановились. Не бойтесь закрыть страницу, как только Вы зайдёте на неё снова — увидите то же место, на котором закончили чтение.
Prentice Hall Open Source Software Development Series
Arnold Series Editor Robbins
«Real world code from real world applications»
Open Source technology has revolutionized the computing world. Many large-scale projects are in production use worldwide, such as Apache, MySQL, and Postgres, with programmers writing applications in a variety of languages including Perl, Python, and PHP. These technologies are in use on many different systems, ranging from proprietary systems, to Linux systems, to traditional UNIX systems, to mainframes.
The Prentice Hall Open Source Software Development Series is designed to bring you the best of these Open Source technologies. Not only will you learn how to use them for your projects, but you will learn from them. By seeing real code from real applications, you will learn the best practices of Open Source developers the world over.
Titles currently in the series include:
Linux®Debugging and Performance Tuning: Tips and Techniques
0131492470, Paper, ©2006
Understanding AJAX: Using JavaScript to Create Rich Internet Applications
0132216353, Paper, ©2007
Embedded Linux Primer
0131679848, Paper, ©2007
SELinux by Example
Frank Mayer, David Caplan, Karl MacMillan
0131963694, Paper, ©2007
Alfredo Mendoza, Chakarat Skawratananond, Artis Walker
0131871099, Paper, ©2006
Linux Programming by Example: The Fundamentals
0131429647, Paper, ©2004
The Linux®Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures
Claudia Salzberg, Gordon Fischer, Steven Smolski
0131181637, Paper, ©2006
Computers are everywhere.
This fact, of course, is not a surprise to anyone who hasn’t been living in a cave during the past 25 years or so. And you probably know that computers aren’t just on our desktops, in our kitchens, and, increasingly, in our living rooms holding our music collections. They’re also in our microwave ovens, our regular ovens, our cellphones, and our portable digital music players.
And if you’re holding this book, you probably know a lot, or are interested in learning more about, these embedded computer systems.
Until not too long ago, embedded systems were not very powerful, and they ran special-purpose, proprietary operating systems that were very different from industry-standard ones. (Plus, they were much harder to develop for.) Today, embedded computers are as powerful as, if not more than, a modern home computer. (Consider the high-end gaming consoles, for example.)
Along with this power comes the capability to run a full-fledged operating system such as Linux. Using a system such as Linux for an embedded product makes a lot of sense. A large community of developers are making it possible. The development environment and the deployment environment can be surprisingly similar, which makes your life as a developer much easier. And you have both the security of a protected address space that a virtual memory-based system gives you, and the power and flexibility of a multiuser, multiprocess system. That’s a good deal all around.
For this reason, companies all over the world are using Linux on many devices such as PDAs, home entertainment systems, and even, believe it or not, cellphones!
I’m excited about this book. It provides an excellent «guide up the learning curve» for the developer who wants to use Linux for his or her embedded system. It’s clear, well-written, and well-organized; Chris’s knowledge and understanding show through at every turn. It’s not only informative and helpfulit’s also enjoyable to read.
I hope you both learn something and have fun at the same time. I know I did.
Although many good books cover Linux, none brings together so many dimensions of information and advice specifically targeted to the embedded Linux developer. Indeed, there are some very good books written about the Linux kernel, Linux system administration, and so on. You will find references right here in this book to many of the ones that I consider to be at the top of their categories.
Much of the material presented in this book is motivated by questions I’ve received over the years from development engineers, in my capacity as an embedded Linux consultant and my present role as a Field Application Engineer for Monta Vista Software, the leading vendor of embedded Linux distributions.
Embedded Linux presents the experienced software engineer with several unique challenges. First, those with many years of experience with legacy real-time operating systems (RTOSes) find it difficult to transition their thinking from those environments to Linux. Second, experienced application developers often have difficulty understanding the relative complexities of a cross-development environment.
Although this is a primer, intended for developers new to embedded Linux, I am confident that even developers who are experienced in embedded Linux will find some useful tips and techniques that I have learned over the years.
Practical Advice for the Practicing Embedded Developer
This book contains my view of what an embedded engineer needs to know to get up to speed fast in an embedded Linux environment. Instead of focusing on Linux kernel internals, the kernel chapter in this book focuses on the project nature of the kernel and leaves the internals to the other excellent texts on the subject. You will learn the organization and layout of the kernel source tree. You will discover the binary components that make up a kernel image, and how they are loaded and what purpose they serve on an embedded system. One of my favorite figures in the book is Figure 5-1, which schematically illustrates the build process of a composite kernel image.
In the pages of this book, you will learn how the build system works and how to incorporate into the Linux kernel your own custom changes that are required for your own projects. You will discover the mechanism used to drive the configuration of different architectures and features within the Linux kernel source tree and, more important, how to modify this system to customize it to your own requirements. We also cover in detail the kernel command-line mechanism. You will learn how it works, how to configure the kernel’s runtime behavior for your requirements, and how to extend this functionality to your own project. You will learn how to navigate the kernel source code and how to configure the kernel for specific tasks related to an embedded system. You will learn many useful tips and tricks for your embedded project, from bootloaders, system initialization, file systems, and Flash memory to advanced kernel- and application-debugging techniques.