继续 V4L_test 相关问题
根据[url=http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:v4l_blackfin_camera&s[]=blackfin&s[]=camera&s[]=v4l&s[]=driver]http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:v4l_blackfin_camera&s[]=blackfin&s[]=camera&s[]=v4l&s[]=driver[/url]这篇文章的说明 我们解决了昨天 dev/video0不能open的问题
关键点主要是:
Board customizations --->
(0x100000) Kernel load address for booting
原先这个值是1000 我想问下 这边的值的变化到底是起到什么作用的?? 为什么用默认的1000就会打不开dev/video0设备。
现在我们的板子boot之后 加载ad7181后的打印信息如下:
root:~> modprobe blackfin-cam
Linux video capture interface: v2.00
driver for ADV7181B get_camops
driver for ADV7181B get_camops
ADV7181B: detecting client on address 0x40
driver for ADV7181B init
ADV7181B: V4L driver Blackfin CMOS Camera now ready
ADV7181B: i2c driver ready
root:~> v4l_test -o usr/output_file
capture rate: 30, height: 288, widht: 352
open /dev/video0
found Blackfin CMOS Camera device. (maxsize=720x576)
default picture properties: brightness=27714,hue=25441,colour=26219,contrast=28265,depth=16, palette=7.
trying to set capture size to 352x288
capture size set to 352x288
运行到这里之后问题又出现了。。。。。。
我们发现“capture size set to 352x288”这句打印信息完之后程序就陷入了等待状态,后来跟踪了V4L_test的代码发现 是卡在了
while (ioctl(devfd, VIDIOCSYNC, &frame_id) < 0 &&(errno == EAGAIN || errno == EINTR));
这个上面。其中蓝色标记的这个函数调用是关键点。但是目前还不知道问题出在哪里。VIDIOCSYNC 可能是用来等待PPI或者DMA中断还是什么的 具体还是一头雾水。。。。。。。
哪位对V4L较为熟悉的指点一下,谢谢
|
|