自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Linux驱动模块的文件操作集的函数里面的filp->private_data的传入途径

filp->private_data,此时的dev就是前面已经初始化后的结构体设备指针,可以用里面的节点指针和gpio编号,如果没有在open函数中赋值,如下图所示,它是应用与驱动读写数据的桥梁,这些函数里面一般会有一个filp->private_data的变量,通常是把驱动里的。的,如下图所示,假如没有这一步,后面得到的结构体指针指向的将会是一个。,例如gpio编号会是一串很长的数字,导致驱动无法使用。编译不会报错,但是得到的各种属性都是错误值。如下图所示,在write函数中用到这个。

2024-07-09 22:00:44 149

原创 Arduino中的Serial.println()不支持std::string数据格式打印

解决方法:使用c_str()方法转换成c风格打印,如下图所示。

2024-07-09 14:08:07 418

原创 imx6ull platform实验设备树compatible属性匹配不成功

下面的是错误写法,当时就很奇怪为什么把compatible属性改成官方的就能进入probe和remove函数,而用自己添加的节点就不行,而且每一个自己添加的节点都不行,面对这个量子问题,我当时花了好久时间在驱动程序上都没解决问题,最后把问题集中到设备树上才让我发现这个致命错误,由于前面的实验没有对这个属性做判断所以写错了也没有关系,所以我每一个添加的节点都是从第一个上面复制过来的所以都是错的。主要的原因就是设备树节点的status应该是okay,而正点原子写的是okey。

2024-07-07 16:50:00 217

原创 Linux的阻塞式io,非阻塞式io,异步通知学习总结

Linux的阻塞式io,非阻塞式io,异步通知学习总结

2024-07-04 23:56:09 258

原创 写linux按键驱动出现invalid GPIO的报错

所以在注册中断函数中只需要把dev传给它就行了,而我传给他的是&dev,也就是这个指针变量的地址,所以实际的设备结构体并没有被传进中断函数,这就进而导致获取不到设备结构体中的gpio标号而发生报错。从上图可以看出request_irq()函数的最后一个参数void *dev,是一个无类型指针,注册函数通过这个指针把设备结构体传入中断函数。而这个注册函数是被我定义在了一个初始化函数里面如上图所示,设备结构体是以struct irq_dev *dev指针的形式传入这个初始化函数。在写中断按键实验的时候出现了。

2024-06-28 19:26:11 287

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除