![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动开发高级
文章平均质量分 76
CSDN_Xian
这个作者很懒,什么都没留下…
展开
-
9.设备树(下)
文章目录在dts中添加新的节点of解析dts节点的API代码中获取节点获取属性获取属性中的整数数组获取属性中字符串数组定义和获取dts中的中断信息验证dts的中断信息dts替代平台设备的pdev硬编码方式在dts中添加新的节点arch/arm/boot/dts/exynos4412-fs4412.dts在顶层目录make dtbscp arch/arm/boot/dts/exynos4412-fs4412.dtb /tftpboot/of解析dts节点的API重启开发板,cd proc/dev原创 2021-11-01 08:06:19 · 259 阅读 · 0 评论 -
8.设备树(上)
文章目录初识设备树设备树的由来设备树文件的编译内核使用dtb文件的过程节点和属性常见的属性compatible_reg等初识设备树设备树是硬件的配置文件。设备树的由来设备树文件的编译dtc——device tree compiler.dtsi——i是include的意思,这种文件类似C语言的头文件,将通用的信息写在里面,供.dts文件包含内核使用dtb文件的过程节点和属性属性常见的属性compatible_reg等compatible属性用来限制子节点中reg的地址和长原创 2021-10-30 10:29:17 · 116 阅读 · 0 评论 -
7.I2C子系统(下)
文章目录MPU6050的I2C driver驱动框架编写MPU6050操作寄存器读取MPU6050数据寄存器并上报给用户应用程序读取重力加速度和陀螺仪的值MPU6050的I2C driver驱动框架编写1.搭建驱动模块基本框架2.在init函数中构建i2c driver,并注册到i2c总线i2c_add_driver(struct i2c_driver *driver)并且在exit函数中释放i2c_del_driver(struct i2c_driver *driver)3.在i2c_driv原创 2021-11-01 08:05:54 · 180 阅读 · 0 评论 -
6.I2C子系统(上)
文章目录I2C协议和时序Linux I2C驱动框架Linux I2C总线和平台总线的结合Linux I2C从设备的设备树信息的添加Linux I2C client_driver_adapter_msg等对象的讲解I2C协议和时序I2C驱动开发:I2C从设备驱动开发硬件芯片:从设备cmos camerats :电容触摸屏gsenor: 重力传感器eeprom: 存储设备HDMI:高清输出接口Linux I2C驱动框架Linux I2C总线和平台总线的结合2,i2c子系统软件框架应原创 2021-10-28 14:51:32 · 215 阅读 · 0 评论 -
5.输入子系统 4
文章目录evdev_open的实现过程open("/dev/event1", O_RDWR);vfs sys_open(); struct file file->f_ops = cdev->ops; file->f_ops->open();evdev_read读取输入子系统数据的方式input_event()上报数据的实现过程evdev_open的实现过程应用程序中调用了输入子系统的代码,数据是如何传递给用户层的?open("/dev/event1", O_RDWR原创 2021-10-27 17:19:45 · 118 阅读 · 0 评论 -
4.输入子系统3
文章目录应用程序读取多个按键和驱动代码的结构分析输入子系统工作逻辑初识input三层的分析分层分析:应用是如何调用到输入子系统中去的open("/dev/event1", O_RDWR);vfs sys_open(); struct file file->f_ops = cdev->ops; file->f_ops->open();应用程序读取多个按键和驱动代码的结构分析#include <stdio.h>#include <string.原创 2021-10-27 15:08:39 · 145 阅读 · 0 评论 -
3.输入子系统2
文章目录input device的初始化解释添加input device的信息设置位表和上报数据的另一种方式设备树中定义按键信息的子节点初始化所有的按键并驱动起来input device的初始化解释3, 初始化input devicestruct input_dev {//表示的是一个具体的输入设备,描述设备能够产生什么数据const char *name; // sysfs中给用户看的信息const char *phys;const char *uniq;struct input_id id原创 2021-10-26 20:09:12 · 89 阅读 · 0 评论 -
2.输入子系统1
文章目录主要内容输入子系统的作用输入子系统的框架最简单的输入设备驱动程序编写输入子系统中硬件初始化和上报数据应用程序读取输入设备数据的方式主要内容主要内容:1,输入子系统的作用和框架2,输入子系统的编程方式–学会最简单的输入子系统的开发方式3,输入子系统和平台总线的结合编程方式—驱动所有按键4,输入子系统的工作原理和代码分析—学习内核的设计思想输入子系统的作用1,输入子系统的作用和框架什么是输入设备:1,按键/keyboard2, mouse3, touchscreen :gt811原创 2021-10-26 18:58:27 · 126 阅读 · 0 评论 -
1.高级驱动学习方法
文章目录字符设备驱动编写时引起的思考分层框架和面向对象的思想高级驱动学习特点和目标字符设备驱动编写时引起的思考linux字符设备驱动编程1,实现入口函数 xxx_init()和卸载函数 xxx_exit()2,申请设备号 register_chrdev_region (与内核相关)3,注册字符设备驱动 cdev_alloc cdev_init cdev_add (与内核相关)4,利用udev/mdev机制创建设备文件(节点) class_create, device_create (与内核原创 2021-10-21 09:15:06 · 226 阅读 · 0 评论