Mastering embedded Linux programming harness the power of Linux to create versatile and robust embedded solutions
Harness the power of Linux to create versatile and robust embedded solutions About This Book Create efficient and secure embedded devices using Linux Minimize project costs by using open source tools and programs Explore each component technology in depth, using sample implementations as a guide Who...
Other Authors: | , |
---|---|
Format: | eBook |
Language: | Inglés |
Published: |
Birmingham :
Packt Publishing
2015.
|
Edition: | 1st edition |
Series: | Community experience distilled.
|
Subjects: | |
See on Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629953206719 |
Table of Contents:
- Cover; Copyright; Credits; Foreword; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Starting Out; Chapter 2: Learning About Toolchains; Chapter 3: All About Bootloaders; Chapter 4: Porting and Configuring the Kernel; Chapter 5: Building a Root Filesystem; Chapter 6: Selecting a Build System; Chapter 7: Creating a Storage Strategy; Chapter 8: Introducing Device Drivers; Chapter 9: Starting up - The init Program; Chapter 10: Learning About Processes and Threads; Chapter 11: Managing Memory; Chapter 12: Debugging with GDB
- Chapter 13: Profiling and TracingChapter 14: Real-time Programming; Index; Selecting the right operating system; The players; Project lifecycle; Open source; Hardware for embedded Linux; Hardware used in this book; Software used in this book; Summary; What is a toolchain?; Types of toolchain - native versus cross toolchain; Choosing the C library; Finding a toolchain; Anatomy of a toolchain; Other tools in the toolchain; Looking at the components of the C library; Linking with libraries: static and dynamic linking; The art of cross compiling; Problems with cross compiling; Summary
- What does a bootloader do?The boot sequence; Booting with UEFI firmware; Moving from bootloader to kernel; Introducing device trees; Choosing a bootloader; U-Boot; Barebox; Summary; What does the kernel do?; Choosing a kernel; Building the kernel; Compiling; Cleaning kernel sources; Booting your kernel; Porting Linux to a new board; Additional reading; Summary; What should be in the root filesystem?; Programs for the root filesystem; Libraries for the root filesystem; Device nodes; The proc and sysfs filesystems; Kernel modules; Transfering the root filesystem to the target
- Creating a boot ramdiskThe init program; Configuring user accounts; Starting a daemon process; A better way of managing device nodes; Configuring the network; Creating filesystem images with device tables; Mounting the root filesystem using NFS; Using TFTP to load the kernel; Additional reading; Summary; No more rolling your own embedded Linux; Build systems; Package formats and package managers; Buildroot; The Yocto Project; Further reading; Summary; Storage options; Accessing flash memory from the bootloader; Accessing flash memory from Linux; Filesystems for flash memory
- Filesystems for NOR and NAND flash memoryFilesystems for managed flash; Read-only compressed filesystems; Temporary filesystems; Making the root filesystem read-only; Filesystem choices; Updating in the field; Further reading; Summary; The role of device drivers; Character devices; Block devices; Network devices; Finding out about drivers at runtime; Finding the right device driver; Device drivers in user-space; Writing a kernel device driver; Loading kernel modules; Discovering hardware configuration; Additional reading; Summary; After the kernel has booted; Introducing the init programs
- BusyBox init