《Linux Device Drivers Development》——Chap 13 Linux Device Model

LDM data structures

The bus

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Bus registration

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Device driver

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Device driver registration

在这里插入图片描述

Device

在这里插入图片描述
在这里插入图片描述

Device registration

在这里插入图片描述
在这里插入图片描述

Deep inside LDM

kobject structure

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

kobj_type

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ksets

在这里插入图片描述
在这里插入图片描述

Attribute

在这里插入图片描述
在这里插入图片描述

Attributes group

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Device model and sysfs

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Sysfs files and attributes

用于定义特定的attribute

Device attributes

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Bus attributes

在这里插入图片描述
在这里插入图片描述

Device drivers attributes

在这里插入图片描述

Class attributes

在这里插入图片描述
在这里插入图片描述

Allow sysfs attribute files to be pollable

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Linux Driver Development for Embedded Processors – Second Edition 版本: Learn to develop Linux embedded drivers with kernel 4.9 LTS The flexibility of Linux embedded, the availability of powerful, energy efficient processors designed for embedded computing and the low cost of new processors are encouraging many industrial companies to come up with new developments based on embedded processors. Current engineers have in their hands powerful tools for developing applications previously unimagined, but they need to understand the countless features that Linux offers today. This book will teach you how to develop device drivers for Device Tree Linux embedded systems. You will learn how to write different types of Linux drivers, as well as the appropriate APIs (Application Program Interfaces) and methods to interface with kernel and user spaces. This is a book is meant to be practical, but also provides an important theoretical base. More than twenty drivers are written and ported to three different processors. You can choose between NXP i.MX7D, Microchip SAMA5D2 and Broadcom BCM2837 processors to develop and test the drivers, whose implementation is described in detail in the practical lab sections of the book. Before you start reading, I encourage you to acquire any of these processor boards whenever you have access to some GPIOs, and at least one SPI and I2C controllers. One of the boards used to implement the drivers is the famous Raspberry PI 3 Model B board. You will learn how to develop drivers, from the simplest ones that do not interact with any external hardware, to drivers that manage different kind of devices: accelerometers, DACs, ADCs, RGB LEDs, Multi-Display LED controllers, I/O expanders, and Buttons. You will also develop DMA drivers, drivers that manage interrupts, and drivers that write/read on the internal registers of the processor to control external devices. To easy the development of some of these drivers, you will use different types of Frameworks: Miscellaneous framework, LED framework, UIO framework, Input framework and the IIO industrial one. This second edition has been updated to the v4.9 LTS kernel.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值