自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android 系统开发

业精于勤荒于嬉 行成于思毁于随

  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux驱动开发之字符设备--私有数据和container_of

前言驱动开发中通常为设备定义一个设备相关的设备结构体,其包含该设备的cdev 、私有数据、信号量、irq等这些信息。 驱动开发中通常将文件的私有数据private_data指向设备结构体,在read()、write()、ioctl()等函数通过 private_data 访问数据 设备结构体。container_of() 是一个比较常用的宏,其作用为通过结构体成员的指针找到对应结构体

2017-05-31 21:13:27 2831 1

原创 linux驱动开发之字符设备--自动创建设备节点

mdev在/dev下创建设备的方法有两种,一种是手动的使用 mknod 进行创建。另外一种是使用 mdev 进行自动的创建设备。 mdev集成在busybox中,mdev 会自动检测 /sys/class 和 /sys/block 的所有类设备目录;如果在目录中含有名为“dev”的文件,同时如果内容是设备号的话,mdev 就会利用这些信息,在/dev下创建这个设备节点。

2017-05-26 21:40:34 1459

原创 linux驱动开发之字符设备--内核和用户空间数据的交换(sysfs)

设备驱动程序中与用户层的接口,除了 read/write/ioctl 方式外,还有sysfs属性。 对于sysfs属性提供的接口,在应用层,可以直接使用 shell 进行交互,而不必进行 编写 C 代码的方式进行对底层的读写。

2017-05-25 20:38:52 1423

原创 linux驱动开发之字符设备--内核和用户空间数据的交换(ioctl)

在驱动中,除了需要具备读写能力外,还需要对硬件设备进行控制。ioctl就常用户底层的一些操作。

2017-05-23 20:00:51 1159

原创 linux驱动开发之字符设备--内核和用户空间数据的交换(read write)

前边给出了字符设备的框架,内核和用户空间进行交流的时候,离不来数据的交换;内核实现read、wriet 、ioctl是常用的交互手段。

2017-05-20 13:56:47 1708

原创 linux驱动开发之字符设备框架 -调用过程分析

前言在前边三节的基础上,粗略的分析一下,上层应用调用到驱动程序的过程,分为下面几个方面: 1.字符设备驱动本身 2.mknod的作用 3.open的调用过程

2017-05-18 20:02:52 1179

原创 linux驱动开发之字符设备框架 - 实例

前言前两小节中介绍了字符设备的cdev和函数操作集 file_operations。理论还需要和实践结合起来,这节主要是给出一个示例代码和测试代码。正文#include

2017-05-17 21:24:19 912

原创 linux驱动开发之字符设备框架 - file_operations

在上一节中介绍了字符设备的重要结构体 cdev,以及和 cdev 相关的一些操作函数,比如cdev_alloc()、 cdev_init() 等,但是和 cdev_init() 密切相关的一个参数 fops,并没有介绍。这节重点分析 file_operations 结构体。

2017-05-14 13:38:33 608

空空如也

空空如也

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

TA关注的人

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