JZ2440- USB 摄像头

本文记录了UVC驱动的移植过程及遇到的问题解决方法,包括编译模块错误、摄像头信息查看、Ubuntu内核日志配置、应用程序调试等步骤,并详细描述了在LCD上显示图像的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一: 编写Myuvc 文件源码(仿照 :Uvc_driver.c (drivers\media\video\uvc)  移植)

编译模块后,加载出现 error

dmesg后 ,打印如下:

当前编译的源码版本跟系统内核的版本没有一致

修改Makefile

重新insmod myuvc.ko后 仍然没有输出信息:

如何查看摄像头的的信息:

lsusb -v -d 0xbda:   ---->注意不要掉了冒号

 

 

如何设置ubuntu 从串口输出 内核的 log信息:

1先设置虚拟机,添加串口设备,然后设置输出到文件!

 

2 # vi /etc/default//grub

    11 GRUB_CMDLINE_LINUX_DEFAULT="" 

    GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8" 补上

修改完成后执行:update-grub 

 

 

3. root@book-virtual-machine:/home/book# cat /proc/sys/kernel/printk
4       4       1       7 

root@book-virtual-machine:/home/book# echo "4 4 1 7" > /proc/sys/kernel/printk   修改内核的打印级别

 

调试应用程序:

让程序在开发板上直接运行,当它发生错误的时候,令他产生core dump文件

然后使用gdb根据core dump文件找到错误的地方

在arm板上:

1.ulimit -c unlimited

2.执行应用程序:程序出错时会在当前目录下名为core的文件

在PC上:也就是在ubuntu上

3.  /bin/arm-linux-gdb ./test_debug ./core  例如:arm-linux-gdb video2lcd /work/nfs_root/fs_mini_mdev_new/core

4.PC控制台执行backtrace 命令:

 

(三) .修改开发板的uvc驱动,并且在lcd上显示图像

1.把 lcd_4.3.c复制到 /work/system/linux-3.4.2/drivers/video   ---->修改/drivers/video/Makefile  

2.添加网卡驱动

注释:cp config_ok .config的必要性:

 

3.make menuconfig·

搜索 USB_VIDEO......

 

 

4.make uImage && cp /arch/arm/boot/uImage /work/nfs_root/uImage_uvc_lcd

reset后启动不起来,分析发现需要修改UBOOT 内核的大小要修改

修改 u-boot-2012.04.01_100ask.patch

打patch

vi u-boot-2012.04.01_100ask/include/configs/smdk2440.h 查看是否打了

重新编译uboot

生成了

烧录后,可以正常启动

但是kernel打印的分区信息不对,需要修改kernel的参数但不影响系统跑起来

 

(四)烧录了支持uvc LCD 驱动的uImage_UVC_LCD内核,验证现象

在烧录uImage_UVC_LCD内核以前,插入usb 摄像头,没有输出相应的usb设备的讯息

现在插入:

运行uvc的应用程序试看效果:

mount 服务器的文件系统:

mount -t nfs -o nolock,vers=2 192.168.2.102:/work/nfs_root/fs_mini_mdev_new

程序正常运行,但是只是显示部分图像:

 

未完待续 :为什么只显示部分图像???????

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值