免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5568 | 回复: 4
打印 上一主题 下一主题

编写了个videobuf-contig.c以获得物理上连续的大的内存(DMA) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-06 09:23 |只看该作者 |倒序浏览
--------------------------------------------
本文系本站原创,欢迎转载!
转载请注明出处:http://zhiqiang0071.cublog.cn
--------------------------------------------

   撰写了符合v4L2的s3c2440的camera驱动,采用videobuf模块管理视频内存,需要申请四个物理上连续的内存,但是linux内核中现有的videobuf-dma-contig在我的系统中只能申请三个(其实是因为默认定义可以申请的buffer大小只有2M, 如果修改大点也可以直接使用videobuf-dma-contig的,修改的地方是arch/arm/include/asm/memory.h, #define CONSISTENT_DMA_SIZE     SZ_2M),故以videobuf-dma-contig为蓝本,撰写了videobuf-contig.c,videobuf-contig采用获取物理上连续的页并设置为保留的方式来获得物理上连续的内存,在s3c2440平台中这些物理内存的物理地址等于总线地址,可以进行DMA传输。把videobuf-contig.c加入到内核的drivers/media/video文件夹下 ,把videobuf-contig.h加入到内核的include/media文件夹下,
修改drivers/media/video/kconfig,加入
config VIDEOBUF_CONTIG
    select VIDEOBUF_GEN
    tristate
修改drivers/media/video/Makefile,加入
obj-$(CONFIG_VIDEOBUF_CONTIG) += videobuf-contig.o


如果有问题,可以回复帖子一起讨论。

代码如下:

[ 本帖最后由 zhiqiang0071 于 2009-5-24 21:05 编辑 ]

videobuf-contig.tar.bz2

4.08 KB, 下载次数: 125

评分

参与人数 1可用积分 +15 收起 理由
dreamice + 15 原创内容

查看全部评分

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2009-05-06 12:49 |只看该作者
感谢分享

论坛徽章:
0
3 [报告]
发表于 2009-05-08 18:19 |只看该作者
混入cu这么久,第一篇帖子被加精,谢谢dreamice兄啊, 。本身我发的帖子也不多,基本上放在cu的blog里了。希望以后能多发些原创的帖子,

顺便做个广告,本人的博客是http://zhiqiang0071.cublog.cn,大家有时间上来踩踩,有谬误的地方请多多指出,

论坛徽章:
0
4 [报告]
发表于 2009-05-23 09:37 |只看该作者
去踩踩哟,很好!

论坛徽章:
0
5 [报告]
发表于 2009-05-23 18:02 |只看该作者
恩,学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP