===============================================================================
JPEG Encoder Testing for Versatile
===============================================================================
NOTE:
This test setup is for versatile and does not apply directly to integrator or
Linux workstation testing.
the location of the toolchain and ip addresses are examples here
and can of cource change.
===============================================================================
===============================================================================
Setting up the environment
===============================================================================
1. Log into the tool-chain workstation. Current toolchain requires GLIBC_2.3
>ssh hantrodom16
2. Source the tool-chain settings script
> source /afs/hantro.com/i386_linux24/usr/arm/arm-2005q3-2-arm-none-linux-gnueabi-i686-pc-linux-gnu/settings.csh
3. Check out current tag from cvs
> cvs co -r 8290_encoder/software
4. Check "Master" Makefile
> cd 6255_encoder/software/linux_reference/
> nedit Makefile
- set traces if needed
- set wanted format (INCLUDE_JPEG = y, other n or all y)
- polling based or not
5 Compile kernel modules
5.1 Compile encoder kernel modlue. Set the path for the kernel sources correctly.
> cd 8290_encoder/software/linux_reference/kernel_module
>make
5.2 Compile linear memory allocater kernel module. Set the path for the kernel sources correctly.
> cd 8290_encoder/software/linux_reference/memalloc
>make
There are scripts for loading these modules! "driver_load.sh" and "memalloc_load.sh"
6. Setup testbench Makefile
> cd 8290_encoder/software/linux_reference/test/jpeg
> nedit Makefile
- NOTE! When running 8290 test cases, use TB_DEFINED_COMMENT flag,
then test bench uses default COM header defined in JpegTestBench.c
7. Compile testing program
> cd 8290_encoder/software/linux_reference/test/jpeg
> make clean libclean versatile
8. Copy the encoder testbench, kernel modules and scripts to a place where the versatile board can
mount. At the moment this is done by copying to directory /export/work with
the machine hlabc4 which has AFS access.
> ssh -l hlabc4
> cp 8290_encoder/software/linux_reference/test/jpeg/jpeg_testenc /export/work/your_work_dir
> cp 8290_encoder/software/linux_reference/test/jpeg/test_jpeg.sh /export/work/your_work_dir
> cp 8290_encoder/software/linux_reference/kernel_module/hx280enc.ko /export/work/your_work_dir
> cp 8290_encoder/software/linux_reference/kernel_module/driver_load.sh /export/work/your_work_dir
> cp 8290_encoder/software/linux_reference/memalloc/memalloc.ko /export/work/your_work_dir
> cp 8290_encoder/software/linux_reference/kernel_module/memalloc_load.sh /export/work/your_work_dir
You might also have to change test data path in the scripts, depending where
your test data is.
9. log on to the versatile board, as root
> telnet vp1
> cd /export/work/your_work_dir
Load kernel modules!
> ./driver_load.sh
> ./memalloc_load.sh alloc_method=2
===============================================================================
Running JPEG encoder test scripts
===============================================================================
Run test case number 2000
> ./test_jpeg.sh 2000
Run all test cases
> ./test_jpeg.sh all
Compare results for test case 2000 (uses 'cmp' and can be very heavy)
Good idea to run on a workstation.
> ./checkcase_jpeg.sh 2000
Compare results for all test cases
> ./checkall_jpeg.sh
===============================================================================
Possible problems
===============================================================================
Possible reasons for errors:
Did make use the correct system settings ("make versatile")?
Was the ewl base set correctly? and the wanted ewl file used?
Correct tool-chain?
Are the paths defined correctly in the scripts?
Kernel modules loaded? check dmesg