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.
近期下载者:
相关文件:
收藏者: