自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux v4l2驱动中vb2_buffer_done实现

vb2_buffer_done 是驱动与videobuf2 交互的关键接口,驱动将一帧图像放入vb2 buffer时,再利用vb2_buffer_done将vb2 buffer送入videobuf2中;此函数的调用可以在中断中执行,也可以在进程中调用。

2025-06-18 18:44:20 291

原创 Linux内核spin_lock 和tasklet

spin_lock 自旋锁如果获取不了,进程一直处于忙等待的状态占用着cpu,不会被其他的task打断,不会进入sleep状态,除了自旋锁以外的其他任何形式的锁都有可能导致睡眠或者进程切换spin_lock防止内核抢占死锁,关闭其他进程/中断的抢占,假如进程和中断运行在同一个cpu上,进程设置成TASK_INTERRUPT,进程没解锁,中断就得不到锁一直忙等待spin_lock_irq 无论之前中断是打开还是关闭,获得锁解锁后都是开启中断,防止内核和中断抢占死锁。

2025-06-18 11:05:29 370

原创 Linux V4l2中videobuf2实现

videobuf2作为v4l2驱动程序和用户之间的数据传输的桥梁,用来分配和处理视频缓冲区,实现IO系统调用,包括read()、poll()、以及mmap()。实现流式IO相关v4l2 ioctl()调用,包括缓冲区分配、缓冲区入队出队以及数据流的打开、关闭等控制。

2025-06-12 19:09:18 1355

空空如也

空空如也

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

TA关注的人

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