Mastering Embedded Linux Programming, 3/e (Paperback)

9781789530384

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

商品描述

Harness the power of Linux to create versatile and robust embedded solutions

 

Key Features:

  • Learn how to develop and configure robust embedded Linux devices
  • Explore the new features of Linux 5.4 and the Yocto Project 3.1 (Dunfell)
  • Discover different ways to debug and profile your code in both user space and the Linux kernel

 

Book Description:

Embedded Linux runs many of the devices we use every day. From smart TVs and Wi-Fi routers to test equipment and industrial controllers, all of them have Linux at their heart. The Linux OS is one of the foundational technologies comprising the core of the Internet of Things (IoT).

 

This book starts by breaking down the fundamental elements that underpin all embedded Linux projects: the toolchain, the bootloader, the kernel, and the root filesystem. After that, you will learn how to create each of these elements from scratch and automate the process using Buildroot and the Yocto Project. As you progress, the book explains how to implement an effective storage strategy for flash memory chips and install updates to a device remotely once it's deployed. You'll also learn about the key aspects of writing code for embedded Linux, such as how to access hardware from apps, the implications of writing multi-threaded code, and techniques to manage memory in an efficient way. The final chapters demonstrate how to debug your code, whether it resides in apps or in the Linux kernel itself. You'll also cover the different tracers and profilers that are available for Linux so that you can quickly pinpoint any performance bottlenecks in your system.

 

By the end of this Linux book, you'll be able to create efficient and secure embedded devices using Linux.

 

What You Will Learn:

  • Use Buildroot and the Yocto Project to create embedded Linux systems
  • Troubleshoot BitBake build failures and streamline your Yocto development workflow
  • Update IoT devices securely in the field using Mender or balena
  • Prototype peripheral additions by reading schematics, modifying device trees, soldering breakout boards, and probing pins with a logic analyzer
  • Interact with hardware without having to write kernel device drivers
  • Divide your system up into services supervised by BusyBox runit
  • Debug devices remotely using GDB and measure the performance of systems using tools such as perf, ftrace, eBPF, and Callgrind

 

Who this book is for:

If you're a systems software engineer or system administrator who wants to learn Linux implementation on embedded devices, then this book is for you. Embedded systems engineers accustomed to programming for low-power microcontrollers can use this book to help make the leap to high-speed systems on chips that can run Linux. Anyone responsible for developing new hardware that needs to run Linux will also find this book useful. Basic working knowledge of the POSIX standard, C programming, and shell scripting is assumed.

商品描述(中文翻譯)

發揮Linux的力量,創建多功能且強大的嵌入式解決方案

主要特點:
- 學習如何開發和配置強大的嵌入式Linux設備
- 探索Linux 5.4和Yocto Project 3.1(Dunfell)的新功能
- 在用戶空間和Linux內核中,探索不同的代碼調試和分析方法

書籍描述:
嵌入式Linux運行我們每天使用的許多設備,從智能電視和Wi-Fi路由器到測試設備和工業控制器,所有這些設備的核心都是Linux。Linux操作系統是構成物聯網(IoT)核心的基礎技術之一。

本書首先對支撐所有嵌入式Linux項目的基本元素進行了分解:工具鏈、引導加載程序、內核和根文件系統。之後,您將學習如何從頭開始創建這些元素,並使用Buildroot和Yocto Project自動化這個過程。隨著學習的深入,本書還解釋了如何為嵌入式Linux編寫代碼的關鍵方面,例如如何從應用程序訪問硬件、編寫多線程代碼的影響以及有效管理內存的技巧。最後幾章演示了如何調試代碼,無論它是在應用程序中還是在Linux內核中。您還將了解Linux提供的不同追蹤器和分析器,以便快速定位系統中的性能瓶頸。

通過閱讀本書,您將能夠使用Linux創建高效且安全的嵌入式設備。

您將學到什麼:
- 使用Buildroot和Yocto Project創建嵌入式Linux系統
- 解決BitBake構建失敗問題,優化Yocto開發工作流程
- 使用Mender或balena在現場安全更新物聯網設備
- 通過閱讀原理圖、修改設備樹、焊接分支板和使用邏輯分析儀探測引腳,原型外設添加
- 在不必編寫內核設備驅動程序的情況下與硬件交互
- 將系統分為由BusyBox runit監管的服務
- 使用GDB遠程調試設備,使用perf、ftrace、eBPF和Callgrind等工具測量系統性能

本書適合對嵌入式設備上的Linux實現有興趣的系統軟件工程師或系統管理員。習慣於為低功耗微控制器編程的嵌入式系統工程師可以使用本書幫助他們轉向可以運行Linux的高速系統芯片。任何負責開發需要運行Linux的新硬件的人也會發現本書很有用。假設讀者具備POSIX標準、C編程和shell腳本的基本工作知識。