kernel驱动
文章平均质量分 74
linux 驱动相关(包含驱动模型以及设备驱动)
kalaneryok
这个作者很懒,什么都没留下…
展开
-
Input子系统
本文主要介绍在linux下input子系统框架,以及如何运作的,自己编写的驱动是怎样的方式嵌入到input子系统中去的。原创 2022-10-05 22:43:44 · 627 阅读 · 0 评论 -
I2C子系统---(4)I2C驱动模型框架
I2C子系统驱动框架前言基本数据结构busdriverapideviceapiadapter 注册client的注册数据收发api总结前言在上一篇文章中,我们已经知道设备树中描述的节点是如何联系进系统中去的,本编文章我们来介绍写I2C系统框架有哪些组成部分,以及I2C设备驱动的注册是指什么,以及常用的I2C通用访问接口具体干了啥,主要围绕驱动框架来熟悉这块的模型。我们了解,I2C驱动模型是基于设备驱动模型,相关的就直接得出结论不展开,其相关见Linux内核驱动模型—设备总线驱动Linux内核驱动模型原创 2022-05-01 08:00:00 · 922 阅读 · 0 评论 -
I2C子系统---(3)I2C驱动模型(全志I2C驱动)
I2C子系统驱动模型原创 2022-04-17 22:00:00 · 1017 阅读 · 0 评论 -
I2C子系统---(2)驱动实现
I2C子系统驱动实现前言磁力计驱动实现设备树磁力计驱动实现前言在之前的文章中提到在使用app对设备数据的获取,那么他的设备节点以及ioctl是如何实现的,是本文的讨论重点!磁力计驱动实现设备树i2c1: i2c@1c2b000 {compatible = "allwinner,sun6i-a31-i2c";reg = <0x01c2b000 0x400>;interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;clocks = &l原创 2022-04-10 20:11:37 · 390 阅读 · 0 评论 -
I2C子系统---(1)应用层使用
I2C子系统使用前言运用环境实现设备访问大致过程设备树app代码说明前言I2C在设备中运用广泛,也是比较常用的一种接口,之前想在学习mcu时就能接触很多的I2C设备,比如24c02基于I2C的eeprom,MPU6050加速度计,rtc,gpio扩展芯片等等!运用环境本系列采用的平台是aarch64 全志H5平台,I2C设备是hmc5883l, 是一款Honeywell3轴数字罗盘磁力计,用于输出当前空间磁场分布,磁场是个矢量,具有方向和大小,且为3维,故这款磁力计的寄存器中表示当前磁场XYZ的分原创 2022-04-10 16:19:21 · 515 阅读 · 0 评论 -
GPIO子系统---(2)gpiolib库
GPIO子系统gpiolib前言gpiolib相关api申请释放控制gpiolib重要内部接口重要结构重要内部接口gpiochip_add_data_with_keygpiodev_add_to_listgpio如何统一相关结构体注册函数example nt平台的注册前言在上一篇文章中说到在应用下如何操作gpio,以及简单分析了下gpioctl的驱动以及api的一些好处,本编文章就来介绍下gpiolib相关的一些api以及gpio的不同平台的注册相关内容。解析gpiolib是如何管理gpio的。gpi原创 2021-10-10 18:15:43 · 3056 阅读 · 0 评论 -
新版内核下proc目录的使用
4.19内核版本在proc目录下出创建目录struct proc_dir_entry dbg_root_dir;struct proc_dir_entry dbg_file_a;dbg_root_dir = proc_mkdir("debug", NULL);dbg_file_a = proc_create("a-dbg", 0644, dbg_root_dir, &adbg_proc_ops);proc_remove(dbg_file_a );//释放proc_remove(db原创 2021-05-07 16:21:18 · 558 阅读 · 0 评论 -
内核子系统运用---设备树
设备树中的一些常用配置中断中断一般分2中情况写interrupt-parent = <&gpio2>;interrupts = <29 0>;中断控制器是GPIO2,然后使用它的29号中断。(这里的29号,就是指29号引脚),0是指触发的方式(上升沿、下降沿等)。interrupts = <0 37 1>;interrupts = <GIC_SPI 37 1>;interrupts = <GIC_PPI 37 1>;原创 2020-11-21 14:36:49 · 542 阅读 · 2 评论 -
内核子系统运用---sysfs控制GPIO
命令行界面控制GPIO方法配置Linux 4.9在终端下查看是否有/sys/class/gpio 目录没有打开内核选项Device Drivers-》GPIO Support -》/sys/class/gpio/… (sysfs interface) ==CONFIG_GPIO_SYSFS操作1 echo “166” > /sys/class/gpio/export2 echo “out” > /sys/class/gpio/gpio166/direction3 echo “原创 2020-11-16 20:04:09 · 804 阅读 · 3 评论 -
内核子系统运用--定时器的使用
linux内核定时器使用高精度定时器内核配置打开timers子系统中的高精度定时器general-setup -》》timer subsys -》》 high resolution timer support初始化struct hrtimer hr_timer;hrtimer_init(&(hr_timer), CLOCK_MONOTONIC, HRTIMER_MODE_REL);//定时器注册hr_timer.function = hrtimer_hander; //中断处理函数h原创 2020-11-12 23:16:26 · 303 阅读 · 0 评论