很多地方都是这样讲要使用copy_from_user(),但我自己做了这样一个实验:
在应用程序中
tv_buff = (char*)malloc(614400);
if(tv_buff==NULL)
goto err;
printf("tv_buff = 0x%08x\n",tv_buff);
memset(tv_buff,23,614400);
for(i=0;i<1280;i++)
printf("tv_buff+%d = %d\n",i,*(tv_buff+i));
并且通过ioctl
ctrl_cam.id = V4L2_video;
ctrl_cam.value = tv_buff;
if((n =(ioctl(dev_fp, VIDIOC_S_CTRL, &ctrl_cam)))<0)
把这个值传递下去,在驱动中:接收这个指针,并且打印
yy_getbuff = sp->SrcFrmSt;
for(i=0;i<1280;i++)
printk("---yy yy_getbuff+%d= %d\n",i, *(yy_getbuff+i));
传下去的指针的地址和值都是一样的。这样可以说明传递下去的指针可以接受并访问吗?
关于write和read的方法,也正在参阅中,谢谢版主~