Linux Device Drivers Development Develop customized drivers for embedded Linux 1st Edition by John Madieu – Ebook PDF Instant Download/Delivery: 1785280007, 978-1785280009
Full download Linux Device Drivers Development Develop customized drivers for embedded Linux 1st Edition after payment

Product details:
ISBN 10: 1785280007
ISBN 13: 978-1785280009
Author: John Madieu
Learn to develop customized device drivers for your embedded Linux system
Key Features:
Learn to develop customized Linux device drivers
Learn the core concepts of device drivers such as memory management, kernel caching, advanced IRQ management, and so on.
Practical experience on the embedded side of LinuxBook Description:
Linux kernel is a complex, portable, modular and widely used piece of software, running on around 80% of servers and embedded systems in more than half of devices throughout the World. Device drivers play a critical role in how well a Linux system performs. As Linux has turned out to be one of the most popular operating systems used, the interest in developing proprietary device drivers is also increasing steadily.
This book will initially help you understand the basics of drivers as well as prepare for the long journey through the Linux Kernel. This book then covers drivers development based on various Linux subsystems such as memory management, PWM, RTC, IIO, IRQ management, and so on. The book also offers a practical approach on direct memory access and network device drivers.
By the end of this book, you will be comfortable with the concept of device driver development and will be in a position to write any device driver from scratch using the latest kernel version (v4.13 at the time of writing this book).
What You Will Learn:
Use kernel facilities to develop powerful drivers
Develop drivers for widely used I2C and SPI devices and use the regmap API
Write and support devicetree from within your drivers
Program advanced drivers for network and frame buffer devices
Delve into the Linux irqdomain API and write interrupt controller drivers
Enhance your skills with regulator and PWM frameworks
Develop measurement system drivers with IIO framework
Get the best from memory management and the DMA subsystem
Access and manage GPIO subsystems and develop GPIO controller drivers
Who this book is for:
This book will help anyone who wants to get started with developing their own Linux device drivers for embedded systems. Embedded Linux users will benefit highly from this book.
This book covers all about device driver development, from char drivers to network device drivers to memory management.
Table of contents:
1 What this book covers
2 What you need for this book
3 Who this book is for
4 Conventions
5 Reader feedback
6 Customer support
7 Downloading the example code
8 Downloading the color images of this book
9 Errata
10 Piracy
11 Questions
12 Introduction to Kernel Development
13 Environment setup
14 Getting the sources
15 Source organization
16 Kernel configuration
17 Building your kernel
18 Kernel habits
19 Coding style
20 Kernel structure allocation/initialization
21 Classes objects and OOP
22 Summary
23 Device Driver Basis
24 User space and kernel space
25 The concept of modules
26 Module dependencies
27 depmod utility
28 Module loading and unloading
29 Manual loading
30 modprobe and insmod
31 /etc/modules-load.d/.conf
32 Auto-loading
33 Module unload
34 Driver skeletons
35 Module entry and exit point
36 __init and __exit attributes
37 Module parameters
38 Building your first module
39 The module’s makefile
40 In the kernel tree
41 Out of the tree
42 Building the module
43 Summary
44 Kernel Facilities and Helper Functions
45 Understanding the container_of macro
46 Linked lists
47 Creating and initializing a list
48 Dynamic method
49 Static method
50 Creating a list node
51 Adding a list node
52 Deleting a node from the list
53 Linked list traversal
54 The kernel sleeping mechanism
55 Wait queue
56 Delay and timer management
57 Standard timers
58 The kernel sleeping mechanism
59 Kernel locking mechanism
60 Mutex
61 Mutex API
62 Declare
63 Acquire and release
64 Spinlock
65 Work deferring mechanism
66 Softirqs and ksoftirqd
67 Tasklets
68 Declaring a tasklet
69 Enabling and disabling a tasklet
70 Tasklet scheduling
71 Work queues
72 Kernel-global work
73 Kernel interruption mechanism
74 Registering an interrupt handler
75 Interrupt handler and lock
76 Concept of bottom halves
77 Tasklets as bottom halves
78 Workqueue as bottom halves
79 Softirqs as bottom halves
80 Threaded IRQs
81 Threaded bottom half
82 Invoking user space applications from the kernel
83 Summary
People also search for:
describe device drivers
linux device driver development – second edition
linux device drivers github
linux device drivers code
linux device driver architecture
Tags:
John Madieu,Linux Device,Drivers Development,customized drivers


