![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动基础
文章平均质量分 81
用于记录linux驱动中的小知识点,用作备忘录.
蜗蜗快跑
这个作者很懒,什么都没留下…
展开
-
linux GPIO子系统.
先放一张图...原创 2024-07-16 18:37:50 · 107 阅读 · 0 评论 -
linux驱动-led子系统
led子系统实际是linux编写好的一个led驱动框架.对于驱动开发者来说只需要按照规定填充结构体然后调用api注册驱动,就可以完成一个led驱动的编写,并且这样写的led驱动为上层提供了统一的接口或者称为标准linux接口.方便了应用开发人员也减少了驱动开发人员的工作量.原创 2024-04-30 10:09:23 · 713 阅读 · 0 评论 -
PWM驱动
pwm驱动一般由芯片厂商编写.他的驱动编写和使用方法和GPIO高度相似.例如一个芯片1到多个多个GPIO控制器,和0到多个pwm控制器,一个gpio控制器在代码里对应一个stuct gpiochip,同样一个pwm控制器在代码里对饮搞一个 struct pwmchip. 并且使用方法也很相似.后面可以看到.PWM驱动分为pwm驱动和pwm设备pwm驱动由厂商提供位于:drivers/pwm/xxx.c目录下。原创 2024-07-16 18:33:19 · 503 阅读 · 0 评论 -
i2c驱动程序(基于总线,设备,驱动,模型.)
至少从linux2.6开始linux为方便管理众多的驱动引入了总线, 设备,驱动模型.,总线由linux内核创建,,设备(device)由芯片厂商编写的驱动添加.驱动就是要驱动开发人员要编写的,比如陀螺仪驱动,触摸驱动等等.如果不是芯片原厂,大多数情况下不必关心总线和设备的创建. 按照规定在设备树里添加iic设备的节点然后使用i2c_add_driver()添加驱动即可,非常的方便.这里介绍下总线和设备的创建.不需要可以跳过.原创 2024-04-28 18:33:48 · 841 阅读 · 0 评论 -
linux iio 驱动
mask, 要读的是哪个功能,这和iio_chan_spec->info_mask_separate 指定的功能是一致的,即enum iio_chan_info_enum枚举。#define IIO_VAL_INT_PLUS_MICRO 2 //val表示整数部分, val2表示小数部分*1000 000 , 后的整数部分。// 核心, 驱动要实现的接口,编程重点./*如果使能了触发缓冲区,该变量是可用通道的掩码位,仅仅是可用,是否开启是active_scan_mask指定*/原创 2024-07-17 16:18:33 · 435 阅读 · 0 评论 -
linux电源管理子系统
相反,应使用power_supply_*()函数(例如power_supply_get_property())来访问。来获取或设置供电设备的属性值.power_supply_desc->get_property,和power_supply_desc->set_property。原创 2024-07-15 11:13:12 · 521 阅读 · 0 评论 -
linux驱动中控制驱动的加载顺序.
** module_init() - 驱动初始化入口点* @x: 在内核启动时间或模块插入时运行的函数* module_init() 将在 do_initcalls() 期间(如果是内建驱动)或模块插入时间(如果是模块)被调用。* 每个模块只能有一个这样的入口点。*/结合上面的宏定义可知,默认的驱动注册有顺序是6.如果定义其他初始化顺序只需要使用相应的宏定义声明驱动的注册和注销函数即可.原创 2024-06-28 21:27:55 · 177 阅读 · 0 评论