وبلاگ بلیان

Linux Driver Development with Raspberry Pi - Practical Labs

جلد کتاب Linux Driver Development with Raspberry Pi - Practical Labs

معرفی کتاب «Linux Driver Development with Raspberry Pi - Practical Labs» نوشتهٔ Alberto Liberal de los Ríos، منتشرشده توسط نشر Alberto Liberal de los Rios در سال 2021. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Linux Driver Development with Raspberry Pi - Practical Labs» در دستهٔ برنامه‌نویسی قرار دارد.

Linux Driver Development with Raspberry Pi - Practical Labs Embedded systems have become an integral part of our daily life. They are deployed in mobile devices, networking infrastructure, home and consumer devices, digital signage, medical imaging, automotive infotainment and many other industrial applications. The use of embedded systems is growing exponentially. Many of these embedded systems are powered by an inexpensive yet powerful system-on-chip (SoC) that is running a Linux operating system. The BCM2837 from Broadcom is one of these SoCs, running quad ARM Cortex A53 cores at 1.2GHz. This is the SoC used in the popular Raspberry Pi 3 boards. This book follows the learning by doing approach, so you will be playing with your Raspberry Pi since the first chapter. Besides the Raspberry Pi board, you will use several low-cost boards to develop the hands-on examples. In the labs, it is described what each step means in detail so that you can use your own hardware components adapting the content of the book to your needs. You will learn how to develop Linux drivers for the Raspberry Pi boards. You will start with the simplest ones that do not interact with any external hardware, then you will develop Linux drivers that manage different kind of devices: Accelerometer, DAC, ADC, RGB LED, Buttons, Joystick controller, Multi-Display LED controller and I/O expanders controlled via I2C and SPI buses. You will also develop DMA drivers, USB device drivers, drivers that manage interrupts and drivers that write and read on the internal registers of the SoC to control its GPIOs. To ease the development of some of these drivers, you will use different types of Linux kernel subsystems: Miscellaneous, LED, UIO, USB, Input and Industrial I/O. More than 30 kernel modules have been written (besides several user applications), which can be downloaded from the book's GitHub repository. This book uses the Long Term Support (LTS) Linux kernel 5.4, which was released on November 2019 and will be maintained until December 2025. The Linux drivers and applications developed in the labs have been ported to three different Raspberry Pi boards: Raspberry Pi 3 Model B, Raspberry Pi 3 Model B+ and Raspberry Pi 4 Model B. This book is a learning tool to start developing drivers without any previous knowledge about this field, so the intention during its writing has been to develop drivers without a high level of complexity that both serve to reinforce the main driver development concepts and can be a starting point to help you to develop your own drivers. And, remember that the best way to develop a driver is not to write it from scratch. You can reuse free code from similar Linux kernel mainline drivers. All the drivers written throughout this book are GPL licensed, so you can modify and redistribute them under the same license. Table of Contents Preface Chapter 1: Building the System Chapter 2: The Linux Device and Driver Model Chapter 3: The Simplest Drivers Chapter 4: Character Drivers Chapter 5: Platform Drivers Chapter 6: I2C Client Drivers Chapter 7: Handling Interrupts in Device Drivers Chapter 8: Allocating Kernel Memory Chapter 9: DMA in Device Drivers Chapter 10: Input Subsystem Chapter 11: Industrial I/O Subsystem Chapter 12: Using the Regmap API in Device Drivers Chapter 13: USB Device Drivers References Index
دانلود کتاب Linux Driver Development with Raspberry Pi - Practical Labs