[国嵌攻略][170][摄像头驱动开发]

本文介绍V4L2(Video for Linux 2)在Linux系统中作为摄像头操作规范的应用,包括如何使能和测试摄像头驱动,以及如何编译测试程序。此外还涉及了必要的U-Boot和内核配置。

摄像头系统架构

V4L2 video for linux,专门为Linux系统定制的操作摄像头的规范。给应用程序提供访问摄像头统一的接口。相应的摄像头驱动也需要遵循V4L2规范。这样应用程序可以不根据硬件的不同而改变,提高应用程序的可移植性。

 

使能和测试摄像头驱动

make menuconfig ARCH=arm

device drivers-><*>multimedia support-><*>video for linux and [*]enable video for linux api 1

 

device drivers-><*>multimedia support->[*]video capture adapters->[*]v4l usb devices-><*>gspca based webcams-><*>zc3xx usb camera driver

make uImage ARCH=arm CROSS_COMPILE=arm-linux-

 

编译测试程序

修改dev_name = "/dev/video%d"为对应的设备文件名

arm-linux-gcc camera.c -o camera

 

 

 

还需要配置uboot

setenv bootargs noinitrd console=ttySAC0,115200 init=/linuxrc root=/dev/nfs rw nfsroot=192.168.1.101:.../rootfs,proto=tcp,nfsvers=3 ip=192.168.1.230:192.168.1.101:192.168.1.1:255.255.255.0::eth0:off
saveenv

 

 

vim board/samsung/mini2440/smdk2410.c

/* configure MPLL */

     writel((M_MDIV << 12) + (M_PDIV << 4) + M_SDIV,

            &clk_power->mpllcon);

 

     /* some delay between MPLL and UPLL */

     pll_delay(4000);

        pll_delay(4000);

   /* configure UPLL */

    writel((U_M_MDIV << 12) + (U_M_PDIV << 4) + U_M_SDIV,

            &clk_power->upllcon);

     /* some delay between MPLL and UPLL */

     pll_delay(8000);

     /* set up the I/O ports */

在MPLL和UPLL之间加了一个pll_delay(4000);

 

还需要配置kernel

[*]Networking support->Networking options->[*]IP: kernel level autoconfiguration and [*]IP: DHCP support and [*]IP:BOOTP support and [*]IP: RARP support

 

 

运行程序如果遇到EHCI USB主控器问题,可以修改相关的USB控制器配置。device drivers->[*]usb support-><*>EHCI HCD (usb 2.0) support or <*>OHCI HCD support

转载于:https://www.cnblogs.com/d442130165/p/5338665.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值