内核接口
文章平均质量分 85
g_salamander
这个作者很懒,什么都没留下…
展开
-
i2c 编程接口
1、通信接口i2c发送或者接收一次数据都以数据包 struct i2c_msg 封装struct i2c_msg { __u16 addr; // 从机地址 __u16 flags; // 标志#define I2C_M_TEN 0x0010 // 十位地址标志#define I2C_M_RD 0x0001 // 接收数据标志 __u16 len;原创 2012-10-17 14:04:43 · 27522 阅读 · 1 评论 -
v4l2 编程接口(二) — driver
V4L2 驱动随着硬件的变化也越来越复杂,现在大部分设备有里面包含了多个IC, 在/dev目录下不仅要建立 V4L2 的节点,而且还需要建立如:DVB、ALSA、FB、I2C、input等设备节点。事实上 V4L2 驱动需要支持音频/视频的混音/编码/解码等IC所以比其他驱动都要复杂很多,通常这些IC通过 i2c 总线连接到主板,这些设备都统称为sub-devices。在很长的一段时间里 V4L2原创 2012-11-23 15:31:10 · 15539 阅读 · 1 评论 -
v4l2 编程接口(一) — ioctl
在应用程序获取视频数据的流程中,都是通过 ioctl 命令与驱动程序进行交互,常见的 ioctl 命令有:VIDIOC_QUERYCAP /* 获取设备支持的操作 */VIDIOC_G_FMT /* 获取设置支持的视频格式 */VIDIOC_S_FMT /* 设置捕获视频的格式 */VIDIOC_REQBUFS /* 向驱动提出申请内存的请求原创 2012-11-23 15:30:23 · 47497 阅读 · 3 评论 -
notifier chain — 内核通知链
大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。通知链表是一个函数链表,链表上的每一个节点都注册了一个函数。当某个事情发生时,链表上所有节点对应的函数就会被执行。所以对于通知链表来说原创 2012-10-17 17:53:26 · 11263 阅读 · 1 评论