在linux比较新的kernel,都标配了各类摄像头的驱动支持,不用我们自己移植驱动,只需通过make menuconfig配置内核支持我们所需的摄像头类型即可。以下是在三星官方内核中配置V4L类型摄像头的方法。
三星官方的内核默认是没有V4L USB devices 这个选项的,但是实际是只是被【屏蔽了】
1、通过 grep "V4L USB devices" -r -n 得到以下信息:
arch/ia64/configs/zx1_defconfig:909:# V4L USB devices
drivers/media/video/Kconfig:977: bool "V4L USB devices"
Documentation/video4linux/zc0301.txt:120: # V4L USB devices
Documentation/video4linux/zr364xx.txt:21:Location: Device Drivers -> Multimedia devices -> Video For Linux -> Video Capture Adapters -> V4L USB devices
从kernel配置界面和Kconfig、.config之间的关系可知,答案就在【drivers/media/video/Kconfig:977: bool "V4L USB devices" 】
2、vim drivers/media/video/Kconfig 得到以下信息:
menuconfig V4L_USB_DRIVERS
bool "V4L USB devices"
depends on USB
default y
可知 V4L_USB_DRIVERS 是depond on USB,初步猜测是因为USB驱动没有配置正确。
4、 Device Drivers --->Multimedia support --->选中Video For Linux 、 Enable Video For Linux API 1 (DEPRECATED) 、Video capture adapters、Radio Adapters
进入Video capture adapters --->选中Enable old-style fixed minor ranges for video devices、Autoselect pertinent encoders、
Samsung MFC (Multi Format Codec - FIMV 5.0) Driver、Samsung TV Driver 、HDMI CEC driver support.、 HDMI HPD driver support
进入V4L USB devices 选中前三项,进入 GSPCA based webcams ---> 选中Fujifilm FinePix USB V4L2 driver、Jeilin JPEG USB V4L2 driver、ZC3XX USB Camera Driver
回到Device Drivers --->USB support ---> 选中Support for Host-side USB、USB verbose debug messages、 USB announce new devices、USB device filesystem (DEPRECATED) 、USB device class-devices (DEPRECATED)、 Dynamic USB minor allocation、 OHCI HCD support、USB Gadget Support --->选中3 4 5 6 7 8 9 11