Mastering Embedded Linux Programming, 2/e

Chris Simmonds

買這商品的人也買了...

商品描述

Key Features

  • Discover how to build and configure reliable embedded Linux devices
  • This book has been updated to include Linux 4.9 and Yocto Project 2.2 (Morty)
  • This comprehensive guide covers the remote update of devices in the field and power management

Book Description

Embedded Linux runs many of the devices we use every day, from smart TVs to WiFi routers, test equipment to industrial controllers - all of them have Linux at their heart. Linux is a core technology in the implementation of the inter-connected world of the Internet of Things.

The comprehensive guide shows you the technologies and techniques required to build Linux into embedded systems. You will begin by learning about the fundamental elements that underpin all embedded Linux projects: the toolchain, the bootloader, the kernel, and the root filesystem. You'll see how to create each of these elements from scratch, and how to automate the process using Buildroot and the Yocto Project.

Moving on, you'll find out how to implement an effective storage strategy for flash memory chips, and how to install updates to the device remotely once it is deployed. You'll also get to know the key aspects of writing code for embedded Linux, such as how to access hardware from applications, the implications of writing multi-threaded code, and techniques to manage memory in an efficient way. The final chapters show you how to debug your code, both in applications and in the Linux kernel, and how to profile the system so that you can look out for performance bottlenecks.

By the end of the book, you will have a complete overview of the steps required to create a successful embedded Linux system.

What you will learn

  • Evaluate the Board Support Packages offered by most manufacturers of a system on chip or embedded module
  • Use Buildroot and the Yocto Project to create embedded Linux systems quickly and efficiently
  • Update IoT devices in the field without compromising security
  • Reduce the power budget of devices to make batteries last longer
  • Interact with the hardware without having to write kernel device drivers
  • Debug devices remotely using GDB, and see how to measure the performance of the systems using powerful tools such as perk, ftrace, and valgrind
  • Find out how to configure Linux as a real-time operating system

About the Author

Chris Simmonds is a software consultant and trainer living in southern England. He has almost two decades of experience in designing and building open-source embedded systems. He is the founder and chief consultant at 2net Ltd, which provides professional training and mentoring services in embedded Linux, Linux device drivers, and Android platform development. He has trained engineers at many of the biggest companies in the embedded world, including ARM, Qualcomm, Intel, Ericsson, and General Dynamics. He is a frequent presenter at open source and embedded conferences, including the Embedded Linux Conference and Embedded World. You can see some of his work on the Inner Penguin blog.

Table of Contents

  1. Starting out
  2. Learning about Toolchains
  3. All about Bootloaders
  4. Porting and Configuring the Kernel
  5. Building a Root filesystem
  6. Selecting a Build System
  7. Creating a storage strategy
  8. Updating software in the field
  9. Interfacing with Device Drivers
  10. Starting up: the init program
  11. Power management
  12. Learning about processes and threads
  13. Managing Memory
  14. Debugging with GDB
  15. Profiling and tracing
  16. Real time programming

商品描述(中文翻譯)

主要特點


  • 了解如何建立和配置可靠的嵌入式Linux設備

  • 本書已更新至包括Linux 4.9和Yocto Project 2.2(Morty)

  • 本全面指南涵蓋了現場設備的遠程更新和電源管理

書籍描述

嵌入式Linux運行著我們每天使用的許多設備,從智能電視到WiFi路由器,從測試設備到工業控制器 - 所有這些設備的核心都是Linux。Linux是實現物聯網互聯世界的核心技術。

這本全面指南向您展示了將Linux建立到嵌入式系統中所需的技術和技巧。您將首先學習支撐所有嵌入式Linux項目的基本元素:工具鏈、引導程序、內核和根文件系統。您將看到如何從頭開始創建這些元素,以及如何使用Buildroot和Yocto Project自動化這個過程。

接下來,您將了解如何為閃存記憶體芯片實施有效的存儲策略,以及如何在設備部署後遠程安裝更新。您還將了解編寫嵌入式Linux代碼的關鍵方面,例如如何從應用程序訪問硬件,編寫多線程代碼的影響,以及有效管理內存的技巧。最後幾章將向您展示如何調試代碼,包括應用程序和Linux內核,以及如何進行系統性能分析以查找性能瓶頸。

通過閱讀本書,您將全面了解創建成功的嵌入式Linux系統所需的步驟。

您將學到什麼


  • 評估大多數系統單晶片或嵌入式模塊製造商提供的板支持包

  • 使用Buildroot和Yocto Project快速高效地創建嵌入式Linux系統

  • 在不影響安全性的情況下更新物聯網設備

  • 降低設備的功耗,延長電池壽命

  • 在不必編寫內核設備驅動程序的情況下與硬件進行交互

  • 使用GDB遠程調試設備,並了解如何使用強大的工具(如perk、ftrace和valgrind)測量系統性能

  • 了解如何將Linux配置為實時操作系統

關於作者

Chris Simmonds 是一位居住在英國南部的軟體顧問和培訓師。他擁有近二十年的開源嵌入式系統設計和構建經驗。他是2net Ltd的創始人和首席顧問,該公司提供嵌入式Linux、Linux設備驅動程序和Android平台開發的專業培訓和指導服務。他曾在許多嵌入式領域的大公司培訓工程師,包括ARM、Qualcomm、Intel、Ericsson和General Dynamics。他經常在開源和嵌入式會議上發表演講,包括嵌入式Linux大會和嵌入式世界大會。您可以在Inner Penguin博客上看到他的一些作品。

目錄


  1. 開始

  2. 學習有關工具鏈的知識

  3. 關於引導程序的一切

  4. 移植和配置內核

  5. 構建根文件系統

  6. 選擇構建系統

  7. 創建存儲策略

  8. 在現場更新軟體

  9. 與設備驅動程序進行接口

  10. 啟動:init程序

  11. 電源管理

  12. 了解進程和線程

  13. 管理內存

  14. 使用GDB進行調試

  15. 性能分析和追蹤

  16. 實時編程