fimc20_camera_rel1.0

所属分类:处理器开发
开发工具:C/C++
文件大小:217KB
下载次数:39
上传日期:2007-06-02 01:05:48
上 传 者zzh9253
说明:  用于三星S3C2440A和S3C24A0A的VGA或SXGA驱动程序,操作系统为Linux2.4.20
(for Samsung S3C2440A and S3C24A0A VGA or SXGA driver, Operating System for Linux2.4.20)

文件列表:
fimc20_camera_rel1.0\App\Bin\rgb_4p_jpg (475363, 2004-06-02)
fimc20_camera_rel1.0\App\Bin\rgb_4p (18689, 2004-06-02)
fimc20_camera_rel1.0\App\Bin\yuv2ppm (297, 2004-04-27)
fimc20_camera_rel1.0\App\Bin\yuv_4p (18325, 2004-04-27)
fimc20_camera_rel1.0\App\rgb_4p.c (4819, 2004-06-01)
fimc20_camera_rel1.0\App\rgb_4p_jpg.c (5679, 2004-06-01)
fimc20_camera_rel1.0\App\yuv_4p.c (4627, 2004-04-27)
fimc20_camera_rel1.0\Doc\.#TECH.1.1.1.1 (2733, 2004-04-27)
fimc20_camera_rel1.0\Doc\BuiltIn (778, 2004-04-29)
fimc20_camera_rel1.0\Doc\TECH (2811, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\Makefile (936, 2004-06-02)
fimc20_camera_rel1.0\MiscDriver\Makefile.BuiltIn (579, 2004-06-02)
fimc20_camera_rel1.0\MiscDriver\bits.h (2033, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\cam_reg.h (8763, 2004-04-28)
fimc20_camera_rel1.0\MiscDriver\camif.c (23635, 2004-06-04)
fimc20_camera_rel1.0\MiscDriver\camif.h (8069, 2004-06-01)
fimc20_camera_rel1.0\MiscDriver\camif_fsm.c (10531, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\imgsensor.c (5412, 2004-06-10)
fimc20_camera_rel1.0\MiscDriver\miscdevice.h (333, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\qt-driver.c (4207, 2004-06-02)
fimc20_camera_rel1.0\MiscDriver\qt.h (424, 2004-06-02)
fimc20_camera_rel1.0\MiscDriver\s5x532.h (3096, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\s5x532_rev36.h (4365, 2004-06-09)
fimc20_camera_rel1.0\MiscDriver\sensor.h (451, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\sxga.h (9410, 2004-06-01)
fimc20_camera_rel1.0\MiscDriver\userapp.h (830, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\v4l2_api.c (6716, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\video-driver.c (13364, 2004-06-02)
fimc20_camera_rel1.0\MiscDriver\videodev.c (7074, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\videodev.h (3659, 2004-04-27)
fimc20_camera_rel1.0\MiscDriver\videodev2.h (29400, 2004-04-27)
fimc20_camera_rel1.0\App\Bin (0, 2007-06-02)
fimc20_camera_rel1.0\App (0, 2007-06-02)
fimc20_camera_rel1.0\Doc (0, 2007-06-02)
fimc20_camera_rel1.0\MiscDriver (0, 2007-06-02)
fimc20_camera_rel1.0 (0, 2007-06-02)

---------------------------------------------- 2004 (C) Samsung Electronics Author :SW.LEE ---------------------------------------------- -------------------------------- Hardware/Software Environment -------------------------------- Target CPU : S3C2440A,S3C24A0A Image Sensor: 1.Samsung Electronics VGA Camera S5X532EA03-20R0 CMOS image sensor S5X7335X image signal processor 2.Samsung Electronics SXGA Camera S5K3A1EA03 CMOS image sensor S5C7326 image signal processor -------------------------------- MISC CHARACTER DRIVER COMPILE -------------------------------- 1. Open "MiscDriver/Makefile" A)Edit "KERNEL_DIR" to make proper location of your linux kernel (When using Samsung Electronics SXGA Camera, uncomment "CAMERA_CONFIGS") B)just type "make" -------------------------------- S3C24X0 LINUX KERNLE COMPILE -------------------------------- 1. I2C Module Camera D/D (Device Driver) uses the I2C module of S3C24X0 Linux kernel. and to satifsy the I2C request for Camera, you must select the kernel options as like the followings: (Kernel option of I2C Driver already set in Default Kernel Configuration) when using S3C2440A CPU. CONFIG_I2C=y CONFIG_I2C_S3C2440_ALGO=y CONFDIG_I2C_S3C2440_ADAP=y when using S3C24A0A CPU CONFIG_I2C=y CONFIG_I2C_S3C24A0_ALGO=y CONFDIG_I2C_S3C24A0_ADAP=y 2. Only for Samsung Electronics SXGA Camera Add "mem=49M" to kernel command-line option ex) CONFIG_CMDLINE="root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0 mem=49M" -------------------------------- MODULE LOADING SEQUENCE -------------------------------- "H_SHELL>" express x86 's SHELL(Host Computer Shell) "T_SHELL>" express the target board shell Not in x86 's SHELL T_SHELL>insmod videodev.o T_SHELL>insmod videodrv.o T_SHELL>insmod imgsensor.o -------------------------------- APPLICATION COMPILE & TEST -------------------------------- 0. Test Application Test applications(Binary Image) exist under the directory "App/Bin" 1. PREVIEW TESTING Preview application displays RGB image into LCD framebuffer. COMPILE: H_SHELL> cd App H_SHELL> arm-linux-gcc -o rgb_4p rgb_4p.c USAGE : rgb_4p [X] [Y] [BPP] [COUNT] [FLIP] [X] : image width [Y] : image hegith [BPP] : 16 or 24 [COUNT]: Capture Count if count is 0, it has a run of non-stop. [FLIP]: 0 is normal 1 is x-flip 2 is y-flip 3 is 180-flip ACTION : display on the framebuffer[LCD] Example) T_SHELL> ./rgb_4p 240 320 16 0 0 T_SHELL> ./rgb_4p 176 144 16 90 1 T_SHELL> ./rgb_4p 320 240 16 0 2 2. CODEC TESTING Codec application stores YCBCR image into the pre-defined file. COMPILE : H_SHELL> cd App H_SHELL> arm-linux-gcc -o yuv_4p yuv_4p.c USAGE : yuy_4p [X] [Y] [BPP] [COUNT] [X] : image width [Y] : image hegith [BPP] : 422 or 420 [COUNT]: Capture Count if count is 0, it has a run of non-stop. [FLIP]: 0 is normal 1 is x-flip 2 is y-flip 3 is 180-flip ACTION : save the image into files Example) T_SHELL> mkdir capture T_SHELL> mount -t ramfs ramfs capture T_SHELL> cd capture T_SHELL> ./yuv_4p 240 320 420 5 0 T_SHELL> ./yuv_4p 176 144 420 90 3 T_SHELL> ./yuv_4p 320 240 420 0 2 ------------------------------------------ ETC) The saved files for YUV image is Berkeley YUV format. and to see 420 B-YUV format, use "eyuvtoppm" as like this. T_SHELL> ./yuv_4p 240 320 420 6 H_SHELL> eyuvtoppm --width 240 --height 320 420x2.yuv > 420x2.ppm there is a lot of programs which can display ppm files (ex: gimp ) or H_SHELL> display -size 240x320 420x2.yuv (X-window environment) 3. CODEC & PREVIEW TESTING If you want to use both CODEC and PREVIEW simultaenously, you can use two consoles: one is serial console, the other is ethernet console(by ztelnet). On serial console : execute "yuv_4p" application On telnet console : execute "rgb_4p" application -------------------------------- ETC : Memory Allocation Fails -------------------------------- Sometimes, if you use fimc20 camera drivers as a moduels "consistent_alloc" of memory allocation will be failed. you can try any one of the following. A. Put fimc20 camera into zImage (using built-in) See the file "Doc/BuiltIn" (or) B. Assign the dedicated memory for Camera Driver The easiest way to get contigous memory is to reserve a memory area at the the end of physical memory. To meet this goal, you need to pass command-line option to the kernel to limit the amount of memory used. "mem=49M" is to reserve 15 megabytes in s3c24X0A evaluation board.

近期下载者

相关文件


收藏者