一、 移植环境
1.主机: Ubuntu 12.04 64bit 发行版
2.目标机:fs4412(cortex_a9)平台
3.交叉编译器:arm-none-linux-gnueabi
4.内核版本:linux-3.14
5.摄像头模块:ZC0301
二、内核的配置
确定内核是否支持摄像头驱动
1. 将usb摄像头插入pc电脑中,打开我的电脑右键---à设备管理器--àpc camera-à右键属性—>找到硬件的详细信息(VID,PID),本次使用的usb摄像头显示的硬件信息为:VID:0AC8 PID: 303B。
2. 进入内核的源码,查看内核是否支持对应的摄像头驱动
可以看到内核已经支持这个摄像头驱动了
对应的驱动程序所在路径drivers/media/usb/gspca/zc3xx.c
将zc3xx.c 加入到内核中编译,让内核支持usb摄像头驱动
找到zc3xx.c 所在目录下的Makefile
如何想编译zc3xx.c必须将ZC3XX配置为y,zc3xx.c才会被编译
找到zc3xx.c所在目录下的Kconfig
需要在内核菜单下配置
USB_GSPCA_ZC3XX VIDEO_V4L2 USB_GSPCA 三项
配置内核:
进入linux-3.14内核
make menuconfig
搜索zc3xx,可以发现
找到zc3xx对应的子菜单
Device Drivers ---à
<*> Mutimedia support-à
[*] Cameras/video grabers support
[*] Media USB Adapters-à
<*> GSPCA based webcams(NEW)à
<*> ZC3XX USB Camera Driver(NEW)
三、 编译内核
make uImage
将生成的内核镜像拷贝到 /tftpboot,目录下,重启开发板可以发现在/dev/目录下自动创建设备节点名 video0,可以移植mjpeg_streamer查看视频信息。