Меню Рубрики

Christopher hallinan embedded linux primer

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

Читайте также:  Linux терминал для начинающих

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.

Читайте также:  Калибровка сенсорного экрана linux

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.

Читайте также:  Программирование pic в linux

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.

Источник

Adblock
detector