📄 readme
字号:
---------------------------------------------- 2004 (C) Samsung Electronics Author :SW.LEE <hitchcar@samsung.com>------------------------------------------------------------------------------Hardware/Software Environment--------------------------------Target CPU : S3C2440A,S3C24A0AImage 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 ModuleCamera 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=y2. 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 22. 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-flipACTION : 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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -