NOTICE: The Processors Wiki will End-of-Life in December of 2020. 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)

From Texas Instruments Wiki
Jump to: navigation, search

Contents

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

LFTB positioning.JPG

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)

LFTB design.JPG

Directory structure[edit]

LFTB test suite- directory structure

Lftb sample directory structure.jpg

Test case flow[edit]

LFTB Typical test case flow

LFTB testcase flow.JPG

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 setup.JPG

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

V4L2 display test execution logs.JPG

End of Part 3a[edit]

Part 3a ends here


V4L2 capture test suite - Test setup[edit]

  • V4L2 capture test setup

V4l2 capture test setup.JPG

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

V4l2 capture execution logs.JPG

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

Fbdev display test execution log.JPG

End of Part 3c[edit]

Part 3c ends here


Resizer test suite - test setup[edit]

Resizer test setup

Generic test setup.JPG

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

Resizer test execution logs.JPG

End of Part 3d[edit]

Part 3d ends here


PWM test suite - test setup[edit]

PWM test setup

Generic test setup.JPG

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

Pwm execution logs.JPG

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)

DSC00035 (400 x 300).jpg DSC00037 (400 x 300).jpg

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)

Lftb custom1.jpg Lftb Custom2.jpg Lftb Custom3.jpg

LFTB Links[edit]

LFTB_Releases

Recording of the Presentations[edit]

See WebEx recording of LFTB WebEx presentations.

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Linux Functional Test Bench (LFTB) here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Linux Functional Test Bench (LFTB) here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Linux Functional Test Bench (LFTB) here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Linux Functional Test Bench (LFTB) here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Linux Functional Test Bench (LFTB) here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Linux Functional Test Bench (LFTB) here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Linux Functional Test Bench (LFTB) here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Linux Functional Test Bench (LFTB) here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Linux Functional Test Bench (LFTB) here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity