个人学习驱动笔记
文章平均质量分 56
自己的笔记,只是公开,排版随意
我爱一次性
在你踏上职业道路这一条路开始,你的目标就只有,冠军
展开
-
4.平台设备+class内创建sysfs的节点+简单的dts调用
前言:其实通常驱动都只是修修改改,很少需要重零开始一个个字母敲的。但是,我总觉得不从新敲,心里对学习驱动框架很不踏实。像是平台设备,有多少新手不懂为啥写成这样呢。可能吧,我比较菜。以前平台设备,设备树,sysfs经常改,但都是我心里不清楚逻辑的。经过一段时间的研究终于大概清除了。1.平台设备平台设备就和其他总线一样,比如i2c总线。只是平台设备的总线是 人为注册 的。作用就是分开 设备 和 驱动 。体现一个 机制 与 策略 分离。组成:虚拟的总线platform_bus_type:这个我原创 2022-03-09 10:54:57 · 966 阅读 · 0 评论 -
3.字符设备创建class,自动创建设备
#include <linux/module.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/device.h>static dev_t fan_num;static struct cdev fan_cdev;static int status;static struct class *fan_class.原创 2022-02-21 17:55:03 · 287 阅读 · 0 评论 -
2.字符设备模板
1.驱动代码#include <linux/module.h>#include <linux/init.h>//纯模块#include <linux/cdev.h>#include <linux/fs.h>static dev_t led_num;static struct cdev led_cdev;static int status;static int led_open(struct inode *ip, struct fil原创 2021-10-13 15:29:10 · 100 阅读 · 0 评论 -
1.编写一个空模块
一.上层配置编写kernel\msm\driversKconfig:增加 source "drivers/zexample/Kconfig"目的:让kernel配置收到里面的KconfigMakefile:增加:obj-$(CONFIG_Q4_MODULE) += zexample/目的:告诉kernel需要增加模块,虽然是否编译取决于Kconfig,但是得有这个ex:obj-$(CONFIG_Q4_MODULE)可供选择obj-Y 直接编进内...原创 2021-10-13 11:51:51 · 112 阅读 · 0 评论