博客专栏  >  综合   >  linux设备驱动分析(kernel-4.7)

linux设备驱动分析(kernel-4.7)

linux设备驱动分析

关注
2 已关注
22篇博文
  • 设备驱动中的device(kernel-4.7)

    device结构体定义,在kernel-4.7/include/linux/device.h中: /** * struct device - The basic device structure ...

    2016-12-07 15:43
    336
  • 设备驱动中的bus(kernel-4.7)

    Linux设备驱动模型中的bus,即可以是物理总线(如PCI、I2C总线)的抽象,也可以是出于设备驱动模型架构需要而定义的虚拟的“platform”总线。一个符合Linux设备驱动模型的device或...

    2016-12-07 21:20
    349
  • 设备驱动中的device_driver(kernel-4.7)

    device_driver结构体定义在driver/base/base.h中,如下: /** * struct device_driver - The basic device driver st...

    2016-12-07 18:56
    394
  • 设备驱动中的kobject(kernel-4.7)

    kobject是Linux设备模型的最底层数据结构,它代表一个内核对象。 kobject结构体定义在include/linux/kobject.h文件中: struct kobject { ...

    2016-12-08 14:35
    367
  • 设备驱动中的kset(kernel-4.7)

    koject分析中绕不开kset结构,kset是kobject扩展,它包含一个kobject的链表,可以方便地表示sysfs中目录与子目录的关系。kset结构体定义在include/linux/kob...

    2016-12-08 19:28
    289
  • linux设备驱动中的completion(kernel-4.7)

    completion定义定义的目录:include/linux/completion.h /* * struct completion - structure used to maintain st...

    2017-02-23 00:42
    268
  • 设备驱动中的pinctrl(kernel-4.7)

    在查看kernel源码时,很容易忽略大量的英文注释,其实,英文注解很好的提示代码的功用,所以,网上没有好的参考资料,可以参考英文注释来分析。 下面是driver/pinctrl/core.h中关于...

    2016-12-12 21:47
    365
  • 解析gpio-keys(kernel-4.7)

    kernel中的gpio-keys,在input子系统一个重要的功用,可以对gpio口进行input 按键操作,虽然简单,牵连驱动设备的范围,广度却很大,值得详细探讨。 platform设备注册: ...

    2016-12-06 18:17
    701
  • 设备驱动中的platform(kernel-4.7)

    platform驱动模型搭建platform核心层:为设备层和驱动层提供注册接口、为设备层和驱动层的匹配提供标准。 内核是这样描述它们的(Documentation/driver-model/pla...

    2016-12-12 21:45
    472
  • 设备驱动中的class(kernel-4.7)

    设备驱动中bus代表实际的总线,device代表实际的设备和接口,而device_driver则对应存在的驱动。而class,是设备类,完全是抽象出来的概念,没有对应的实体。所谓设备类,是指提供的用户...

    2016-12-14 16:30
    403
  • 设备驱动中的i2c(kernel-4.7)

    必要的概念和已有的总结还是要拷贝来的: I2C架构概述Linux的I2C体系结构分为3个组成部分: I2C核心:I2C核心提供了I2C总线驱动和设备驱动的注册,注销方法,I2C通信方法(”algor...

    2016-12-14 22:20
    540
  • 设备驱动中的tty(kernel-4.7)

    TTY概念解析在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。• 串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Lin...

    2016-12-16 12:05
    310
  • 设备驱动中的gadget(kernel-4.7)

    Linux USB Gadget Driver功能为了与主机端驱动设备的USB Device Driver概念进行区别,将在外围器件中运行的驱动程序称为USB Gadget Driver。其中,Hos...

    2016-12-20 23:38
    747
  • 设备驱动中cdev(kernel-4.7)

    linux系统将设备分为3类:字符设备、块设备、网络设备 1、字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字...

    2016-12-29 16:51
    145
  • 设备驱动中的mutex(kernel-4.7)

    互斥锁主要用于实现内核中的互斥访问功能。内核互斥锁是在原子 API 之上实现的,但这对于内核用户是不可见的。对它的访问必须遵循一些规则:同一时间只能有一个任务持有互斥锁,而且只有这个任务可以对互斥锁进...

    2016-12-29 23:59
    241
  • 设备驱动中的inode(kernel-4.7)

    文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即...

    2017-01-03 22:38
    240
  • 设备驱动中的spin_lock(kernel-4.7)

    在linux kernel的实现中,经常会遇到这样的场景:共享数据被中断上下文和进程上下文访问,该如何保护呢?如果只有进程上下文的访问,那么可以考虑使用semaphore或者mutex的锁机制,但是现...

    2017-01-03 23:24
    320
  • 设备驱动中的misc(kernel-4.7)

    Linux里面的misc杂项设备是主设备号为10的驱动设备,它的注册跟使用比较的简单,所以比较适用于功能简单的设备。 miscdevice共享一个主设备号MISC_MAJOR(即10),但次设备号不同...

    2017-01-05 21:49
    239
  • 设备驱动中的iomem(kernel-4.7)

    对于外设的访问,最终都是通过读写设备上的寄存器实现的,寄存器不外乎:控制寄存器、状态寄存器和数据寄存器,这些外设寄存器也称为“IO端口”,并且一个外设的寄存器通常是连续编址的。不同的CPU体系对外设I...

    2017-01-06 15:36
    263
  • 设备驱动中的regmap

    regmap 机制是在 Linux 3.1 加入进来的特性。主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器。其实这就是内核做的一次重构。regmap 除了能做...

    2017-01-09 23:31
    1366

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部