보드에 CPia2 칩셋을 가진 웹캠 ( MCAM 100 ) 을 포팅(?) 중입니다.

일단 소스포지 사이트에서 cpia2 소스를 받은 후

다음과 같이 make 파일을 고쳤습니다

----------------------------------------------------------------------------------------------------------

CC = arm-linux-gcc
CXX = arm-linux-g++
LD = arm-linux-ld
AR = arm-linux-ar
NM = arm-linux-nm
STRIP = arm-linux-strip
OBJCOPY = arm-linux-objcopy

ifneq ($(KERNELRELEASE),)

obj-m:=cpia2.o
cpia2-objs:=cpia2_v4l.o cpia2_usb.o cpia2_core.o

else

KERNEL_DIR := /root/ez_kernel/linux-2.6.8-rc2-s2410-v05


default: Makefile
    $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules

clean: Makefile
    $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) clean

remake: clean default

install: default
    install -d $(KERNEL_DIR)/drivers/media/video
    install -m 644 -c cpia2.ko $(KERNEL_DIR)/drivers/media/video
    /sbin/depmod -a

deinstall:
    rm $(KERNEL_DIR)/drivers/media/video/cpia2.ko
cleanall: deinstall clean

Makefile: Makefile_ez
    cp $? $@

endif

------------------------------------------------------------------------------------------------------------

저의 짧은 지식으로 수정하였기에 다음과 같은 메시지가 발생하더군요

=================================================
*** Warning: "video_device_release" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "video_usercopy" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "v4l2_prio_open" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "video_register_device" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "video_device_alloc" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "v4l2_prio_init" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "video_unregister_device" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "v4l2_prio_close" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "v4l2_prio_check" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "video_devdata" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "v4l2_prio_change" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined!
*** Warning: "v4l2_prio_max" [/nfs/cpia2_driver-2.0_mcam/cpia2.ko] undefined
=====================================================

하지만  cpia2.ko 파일은 생성이 되어 보드에 파일을 옮긴 후

insmod cpia2.ko 를 하니 ( 묘듈을 올리니 )

--------------------------------------------------------------------------
cpia2: V4L-Driver for Vision CPiA2 based cameras v2.0.0                                                      
cpia2: CPiA2 USB camera found                                                                                
cpia2:   CPiA Version: 2.164 (103.96)                                                                        
cpia2:   CPiA PnP-ID: 0553:0140:0103                                                                          
cpia2:   SensorID: 16.(version 4)                                                                            
usbcore: registered new driver cpia2
---------------------------------------------------------------------------

란 메시지와 함께  캠이 잡히는 것 같았습니다.

하지만 ... ..    캠은 잡히기는 잡히나

문제는 캠이 캡쳐가 되지를 않더군요 .

( 파일로 생성이 되지를 않네요 .)

v4l 을 이용해서 c 소스를 짠 후 리눅스에서 테스트 하니

이상없이 캡쳐가 된 소스인데

보드상에서는 캡쳐가 전혀 되지를 않습니다.

ov511 칩 용 Cam 은 이상없이 캡쳐가 되었는데

cpia2 이 놈만, Read 부분에서 계속 멈춘 상태로 있더군요

이 문제로 아까운 시간만 계속 가고 있습니다.

이리저리 소스도 고쳐보고 해봤는데 .. 문제는

디바이스를 잘못 올린것 같아 , 저 에러 메시지 때문인지

에러를 고쳐 볼려고 합니다.

혹시 이 부분에 대해서 아시는 부분이 있으시면

가르쳐 주시면 감사하겠습니다.

-- 좋은 하루 되세요 ^^ --