NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Linux Functional Test Bench (LFTB)
Contents
- 1 Linux PSP Functional test bench (LFTB) overview
- 2 LFTB Overview(1/3)
- 3 LFTB Overview(2/3)
- 4 LFTB Overview(3/3)
- 5 Motivation
- 6 End of Part 1
- 7 Requirements(1/2)
- 8 Requirements(2/2)
- 9 Non-Requirements
- 10 Design
- 11 Directory structure
- 12 Test case flow
- 13 Advantages of LFTB
- 14 End of Part 2
- 15 V4L2 display test suite - Test setup
- 16 V4L2 display test suite - Features
- 17 V4L2 display test suite - Build
- 18 V4L2 display test suite - some sample command line options
- 19 V4L2 display test suite - some execution logs
- 20 End of Part 3a
- 21 V4L2 capture test suite - Test setup
- 22 V4L2 capture test suite - Features
- 23 V4L2 capture test suite - Build
- 24 V4L2 capture test suite - some sample command line options
- 25 V4L2 capture test suite - some execution logs
- 26 End of Part 3b
- 27 Fbdev display test suite - test setup
- 28 Fbdev display test suite - Features
- 29 Fbdev display test suite - Build
- 30 Fbdev display test suite - some sample command line options
- 31 Fbdev display test suite - some sample execution logs
- 32 End of Part 3c
- 33 Resizer test suite - test setup
- 34 Resizer test suite - Features
- 35 Resizer test suite - Build
- 36 Resizer test suite - some sample command line options
- 37 Resizer test suite - some sample execution logs
- 38 End of Part 3d
- 39 PWM test suite - test setup
- 40 PWM test suite - Features
- 41 PWM test suite - Build
- 42 PWM test suite - some sample command line options
- 43 PWM test suite - some sample execution logs
- 44 End of Part 3e
- 45 Demos(1/2)
- 46 Demos(2/2)
- 47 LFTB Links
- 48 Recording of the Presentations
Linux PSP Functional test bench (LFTB) overview[edit]
Part 1 -
- LFTB Overview
- Motivation
Part 2 -
- Requirements, non requirements
- Design
- Directory structure
- Test case flow
Part 3 -
- Test suites
- V4L2 display test suite - Test setup, features, build and execution.
- V4L2 capture test suite - Test setup, features, build and execution.
- Fbdev dipslay test suite - Test setup, features, build and execution.
- Resizer test suite - Test setup, features, build and execution.
- PWM test suite - Test setup, features, build and execution.
Part 4 -
- Sample demos.
LFTB Overview(1/3)[edit]
- LFTB stands for Linux PSP functional test bench.
- Linux PSP functional Test Bench (LFTB) is a collection of device driver test suites for validating the functionality of the Linux PSP device drivers.
- Look and feel similar to any Linux open source tool or utility
- Supports stress, stability and API tests in addition to the functional/feature testing.
- Supports execution through command line or scripts.
- LFTB is simple, easy to debug, maintain and support
LFTB Overview(2/3)[edit]
LFTB Supports -
- PSP/LSP Products
- LSP 2.0, OMAP35x and OMAP35x GIT.
- Platforms
- OMAP35x, DM644x, DM646x and DM355.
- Utilities
- Logging, Timer and CPU load.
- Documents
- User guide, Architecture guide, Release notes and READMEs for each test suite.
LFTB Overview(3/3)[edit]
LFTB positioning with respect to PSP
Motivation[edit]
- Deliver Test Code with PSP SDK
- Plans to deliver to open source
- Test Tool that can be used by FAEs / Developers / Customers
- Uniform mechanism of developing test cases for PSP
- Usability across different Automation Frameworks including Open source tools
- Run time Configurability
End of Part 1[edit]
Part 1 ends here
Requirements(1/2)[edit]
- Independent Target based utility
- Linux utility like look and feel
- Shall support different Linux PSPs with different platforms
- Run time configurable (no hard coding of automation parameters)
- Shall be pluggable with any host based automation framework
- Documentation support – User guide, architecture document, Release notes and READMEs.
Requirements(2/2)[edit]
- Shall support target side logging with different types of logging.
- Linux Coding guidelines
- Shall package sample scripts to enable automation
- Parameters may be passed via command line or else the test should run with default parameters
- Uniform directory structure for all test suites
- Architecture should support reuse of test cases (if applicable) across different platforms.
Non-Requirements[edit]
- Portability across OS is not a requirement in the implementation. The design should account for portability across linux like OSes.
- Test case ID shall not be hard coded.
Design[edit]
LFTB Design(Architecture Block diagram)
Directory structure[edit]
LFTB test suite- directory structure
Test case flow[edit]
LFTB Typical test case flow
Advantages of LFTB[edit]
- Support for multiple TI platforms in the same package
- Ease of portability across platforms
- Ease of use
- All test suites follow an uniform and consistent way of implementation, directory structure and build mechanism.
- Good tool to carry out independent target side validation.
- Scripts enabling the support for automation.
- Test cases can be added on the fly by making script changes with out the need to change the test code.
End of Part 2[edit]
Part 2 ends here
V4L2 display test suite - Test setup[edit]
V4L2 display test setup
V4L2 display test suite - Features[edit]
Features (Super set)-
- LCD and TV out selectable as a command line option.
- Support for multiple video pipelines (Device node selectable at command line)
- Support for different standards (SD, HD and ED – Selectable via command line)
- Support for different interfaces (S-Video, composite, component – Selectable via command line)
- Support for configuring resolution (width and height via command line)
- Display with Rotation (90, 180, 270) enabled/disabled.
- Display with mirroring enabled/disabled.
V4L2 display test suite - Build[edit]
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM646x platform
- make PLATFORM=DM646x
- Build command for DM644x platform
- make PLATFORM=DM644x
V4L2 display test suite - some sample command line options[edit]
option | Long option | Description |
---|---|---|
-w | --width | Width of the image/pattern to be displayed |
-h | --height | Height of the image/pattern to be displayed |
-d | --displaynode | V4L2 Device node to be used for display |
-c | --countofbuffers | Number of buffers to enqueue |
-n | --noofframes | Number of frames to be displayed |
-p | --pixelformat | Pixel format |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
V4L2 display test suite - some execution logs[edit]
V4L2 display test - some execution logs
End of Part 3a[edit]
Part 3a ends here
V4L2 capture test suite - Test setup[edit]
- V4L2 capture test setup
V4L2 capture test suite - Features[edit]
Features (Super set)-
- Support for loopback (Display on LCD or TV based on platform support)
- Support for writing a selected frames to files.
- Support for configuring device node at command line.
- Support for different standards (SD, HD and ED – Selectable via command line)
- Support for different interfaces (S-Video, composite, component – Selectable via command line).
V4L2 capture test suite - Build[edit]
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM646x platform
- make PLATFORM=DM646x
- Build command for DM644x platform
- make PLATFORM=DM644x
V4L2 capture test suite - some sample command line options[edit]
option | Long option | Description |
---|---|---|
-d | --displaynode | V4L2 Device node to be used for capture |
-D | --displayorwrite | Option to select whether to display captured image or write to file |
-n | --noofframes | Number of frames to be captured and displayed |
-f | --filename | File to be used for writing |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
V4L2 capture test suite - some execution logs[edit]
V4L2 capture test - some execution logs
End of Part 3b[edit]
Part 3b ends here
Fbdev display test suite - test setup[edit]
Fbdev display test setup
<img src="v4l2_display_test_setup.JPG" alt="v4l2_display_test_setup.JPG" width='879' height='521' />
Fbdev display test suite - Features[edit]
Features (Super set)-
- LCD and TV out selectable as a command line option.
- Support for multiple OSD windows (Device node selectable at command line)
- Support for different standards (SD, HD and ED – Selectable via command line)
- Support for different interfaces (S-Video, composite, component – Selectable via command line)
- Support for configuring resolution (width and height via command line)
Fbdev display test suite - Build[edit]
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM644x platform
- make PLATFORM=DM644x
Fbdev display test suite - some sample command line options[edit]
option | Long option | Description |
---|---|---|
-w | --width | Width of the image/pattern to be displayed |
-h | --height | Height of the image/pattern to be displayed |
-n | --devicename | Fbdev device node to be used for display |
-f | --noofframes | Number of frames to display |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
Fbdev display test suite - some sample execution logs[edit]
Fbdev display test execution logs
End of Part 3c[edit]
Part 3c ends here
Resizer test suite - test setup[edit]
Resizer test setup
Resizer test suite - Features[edit]
Features (Super set)-
- Supports both upscaling and downscaling.
- Support for taking different input width and height through command line.
- Support for giving different output width and height through command line.
- Support to specify filenames for input and output files.
Resizer test suite - Build[edit]
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM644x platform
- make PLATFORM=DM644x
Resizer test suite - some sample command line options[edit]
option | Long option | Description |
---|---|---|
-d | --devicenode | Resizer device node |
-i | --inputfile | Name of input file |
-w | --inputwidth | Width of input file |
-h | --inputheight | Height of input file |
-o | --outputfile | Name of output file |
-W | --outputwidth | Width of output file |
-H | --outputheight | Height of output file |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
Resizer test suite - some sample execution logs[edit]
Resizer test - some sample execution logs
End of Part 3d[edit]
Part 3d ends here
PWM test suite - test setup[edit]
PWM test setup
PWM test suite - Features[edit]
Features (Super set)-
- Supports command line option for device node configuration.
- Command line options for configuring different values of pulse width duration and period.
- Configuration of modes(one shot or continous), phase state and inact out states through command line.
PWM test suite - Build[edit]
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for DM646x platform
- make PLATFORM=DM646x
- Build command for DM644x platform
- make PLATFORM=DM644x
- Build command for DM355 platform
- make PLATFORM=DM355
PWM test suite - some sample command line options[edit]
option | Long option | Description | |
---|---|---|---|
-d | --displaynode | Device node on which test is to be run | |
-I | --period | Period | |
-i | --duration | Pulse width duration | |
-m | --mode | Mode of operation - one shot or continous mode |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
PWM test suite - some sample execution logs[edit]
PWM test - some sample execution logs
End of Part 3e[edit]
Part 3e ends here
Demos(1/2)[edit]
LFTB V4L2 display test suite execution output on OMAP35x LCD(color bar, natural image display(a yuv video clip)in order)
Demos(2/2)[edit]
LFTB Fbdev display test suite execution output on Da8xx(Primus) GLCD(Squares,chess board pattern,natural image(a hen)in order)