当前位置: 技术问答>linux和unix
嵌入式LINUX mmap 出错
来源: 互联网 发布时间:2016-10-21
本文导语: 用mini6410在 Qtopia下开发 USB 摄像头程序。程序的原理很直接,就是用Linux下的V4L2, 在这其中设置内存映射时,mmap 返回出错。代码如下: buffers[numBufs].start = mmap(NULL, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, buf...
用mini6410在 Qtopia下开发 USB 摄像头程序。程序的原理很直接,就是用Linux下的V4L2, 在这其中设置内存映射时,mmap 返回出错。代码如下:
buffers[numBufs].start = mmap(NULL, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, buf.m.offset);
if (buffers[numBufs].start == MAP_FAILED)
{
errorflag=8; //自己设置的错误标志量
return -1;
}
也就是进入了 if (buffers[numBufs].start == MAP_FAILED)之中,所以初始化没有成功,在此请教各位,不胜感激,希望大家能指点下,先谢了。
buffers[numBufs].start = mmap(NULL, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, buf.m.offset);
if (buffers[numBufs].start == MAP_FAILED)
{
errorflag=8; //自己设置的错误标志量
return -1;
}
也就是进入了 if (buffers[numBufs].start == MAP_FAILED)之中,所以初始化没有成功,在此请教各位,不胜感激,希望大家能指点下,先谢了。
|
使用perror() 看看具体的错误信息是什么..
|
先检查一遍你的各个参数是否有效
一般是这个问题
一般是这个问题