V4L2问题---我们的Linux系统保留物理连续的内存(40M),怎么用REQBUFS使用这段内存?

发布于 2022-09-30 12:17:13 字数 342 浏览 19 评论 0

我要使用V4L2的V4L2_MEMORY_MMAP方式:
1 我感觉V4L2本身的REQBUFS是动态申请内存的,我现在的情况是有我们的Linux系统有固定连续的40M的内存保留给V4L2使用,我该如何把这固定的40M内存给V4L2使用呢(用V4L2的方法)?
2 vivi.c中的vivi_mmap(struct file *file,struct vm_area_struct *vma)是怎么和应用层的
  void *mmap(void *start,size_t length,int prot, int flags, int fd, off_t offset)联系在一起的?尤其是vma怎么在应用层的mmap中使用?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

挽你眉间 2022-10-07 12:17:13

可以考虑使用user指针方式

锦爱 2022-10-07 12:17:13

谢谢楼上,我们要用内核分配内存以供其他driver共享使用,用user指针的方式要在用户层申请内存,且不能保证申请的内存是可以用于DMA的把(就是物理上未必连续)?

比忠 2022-10-07 12:17:13

楼主,最近也在处理关于V4L2造成内存申请的问题,不知道楼主后来用什么方法解决?在v4l2更改吗?
目前想法在driver第一次启动时就去要一块内存,但是不知道要怎么传到userspace去去给程序使用,不知道有没有什么建议,谢谢

高跟鞋的旋律 2022-10-07 12:17:13

顶一下,不知道这个问题是什么问题,我的问题是,如何使用保留内存?该贴应该相关。

保留内存的方法是: grub kernel参数加上mem=XX

世界和平 2022-10-07 12:17:13

我想用remap_pfn_range去映射,要修改比较多的东西。

浅笑轻吟梦一曲 2022-10-07 12:17:13

回复 5# ymxlou

问题解决了吗?

奈何桥上唱咆哮 2022-10-07 12:17:13

原来 不是我一个人困惑 这个问题啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文