板的硬件资源。这个系统的其中一个基础是要把USB摄像头的图象读进来。
对照USB的基础知识和PC机上USB的支持条件,我假定需要以下这些模块:
主机控制器驱动(板上是ISP1161),usbcore,videodev(用于video_for_linux)
和USB的设备驱动程序。在编译内核时,我通过配置把ISP1161和usbcore配置成
build-in,由于我使用lonitech的摄像头,而philips的摄像头驱动pwc支持
lonitech的摄像头,于是把video_for_linux和pwc编译成modules,下载到板子上,
并手动加载这两个modules.接下去在/dev/下
mknod video0 c 81 0
ln -s video0 video
当把摄像头插上时,系统反应有新设备,并且匹配驱动程序,因为摄像头的指示灯亮。
然后我
cat /dev/video0
没有反应,没有乱码出现说明没有数据读进来。我写了一个打开video0设备的小程序
也没有数据获得。
应该用usb的鼠标和键盘能正常工作,说明isp1161和usbcore这两个应该没有问题。
现在不知道那里出了错。非常着急。不知哪位高手有过相关的经验,不吝指教。
非常感谢。
9 个解决方案
#1
UP
#2
#3
你用的是哪块开发板?
#4
学习中
#5
你这样之后摄像头并没有开始工作,看一下V4L API吧,需要用到ioctl(fd,VIDIOCMCAPTURE,1)才开始拍照的,然后可以调用read函数读取最近一次拍到的照片,注意读到的只是摄像头采集到的RGB数据没法显示,需要把它转成PPM或JPEG格式的。具体的上网找文档吧。
#6
需要打开那个设备,然后用标准的函数去读写就可以了
VIDEO可能不需要了吧,不知道你的嵌入式系统上有显示设备?还是把数据采集了在其他设备上显示呢?
不过硬件至少工作了,恭喜
VIDEO可能不需要了吧,不知道你的嵌入式系统上有显示设备?还是把数据采集了在其他设备上显示呢?
不过硬件至少工作了,恭喜
#7
hundan4383说得有道理,应该去看看V4L的文档。
#8
找一下xawdecode的源代码,看看是如何调用v4l的,然后可以考虑自己改写pwc
#9
V4L API?
现在才知道他是干什么的了
现在才知道他是干什么的了
#1
UP
#2
#3
你用的是哪块开发板?
#4
学习中
#5
你这样之后摄像头并没有开始工作,看一下V4L API吧,需要用到ioctl(fd,VIDIOCMCAPTURE,1)才开始拍照的,然后可以调用read函数读取最近一次拍到的照片,注意读到的只是摄像头采集到的RGB数据没法显示,需要把它转成PPM或JPEG格式的。具体的上网找文档吧。
#6
需要打开那个设备,然后用标准的函数去读写就可以了
VIDEO可能不需要了吧,不知道你的嵌入式系统上有显示设备?还是把数据采集了在其他设备上显示呢?
不过硬件至少工作了,恭喜
VIDEO可能不需要了吧,不知道你的嵌入式系统上有显示设备?还是把数据采集了在其他设备上显示呢?
不过硬件至少工作了,恭喜
#7
hundan4383说得有道理,应该去看看V4L的文档。
#8
找一下xawdecode的源代码,看看是如何调用v4l的,然后可以考虑自己改写pwc
#9
V4L API?
现在才知道他是干什么的了
现在才知道他是干什么的了