RK Platform Fast Test

From ESS-WIKI
Revision as of 03:04, 29 May 2023 by Yunjin.jiang (talk | contribs)
Jump to: navigation, search

 

Preface

When sending samples to customer or test team (Lab、DQA etc) or releasing images, we need test all functions.

All functions are classified to three types:

  • Full-automatic Test
  • Semi-automatic Test
  • Manual Test

Full-Automatic Test

Run test script and get the result automatically.

Support to test the following items:

  • AIM Linux Applications
  • AIM Linux Services
  • AIM Timers
  • Thermal
  • NPU
  • GPU
  • VPU
  • eMMC
  • RTC


Preparation

  • Insert network cable to DUT
  • Open browser on DUT, then input "172.21.128.237"
  • Login your account to connect to internet

Testing

Run the following command on DUT Terminal、ADB or Debug console:


  /tools/test/adv/auto_test/auto_test.sh

Result

1. Failure

[ Failed ]: docker run hello-world; Please check net connection, or docker

2. Success

[ OK ]: docker run hello-world


Semi-Automatic Test

GPIO

Test script need two GPIOs, set one GPIO to output and the other to input.

Then set the output to 1, read whether the input is 1.

Then set the output to 0, read whether the input is 0.

Preparation

  1. To get GPIO number from WIKI or User Mamual
  2. Short two GPIOs your want to test

[ Note ]

DB5901、DB2510 GPIOs have multi-functions, change to GPIO mode.

Testing

For example:

To test ROM-5880's GPIO0 and GPIO1

Run the following command on DUT Terminal、ADB or Debug console:

  /tools/test/adv/gpio/gpio_test.sh 88 89

Result

1. Failure

[ Failed ]: gpio-test 88 89 Test Fail

2. Success

[ OK ]: gpio-test 88 89 Test Pass


UART

UART may support RS232 or RS485 mode, we use env "uart_mode" to change mode in RUNTIME.

We test RS232 in one port self-loop mode, RS485 in two port loop mode.

 

Preparation

  • To get UART information(RS232 or RS485; 4-wire or 2-wire; Software Port Number etc) from WIKI or User Mamual
  • Run the following command on DUT Terminal、ADB or Debug console to check env setting
 
        fw_printenv uart_mode

        # RS232: You will get the following information
        # Error: "uart_mode" not defined 
        # uart_mode=0x00

        # RS485: You will get the following information
        # uart_mode=0x0c
        
  • To test RS232 mode, short TX to RX (PIN2 to PIN3 DB9) and CTS to RTS (PIN7 to PIN8 DB9)

RS232 Mode Testing

For example:

To test /dev/ttyS0

Run the following command on DUT Terminal、ADB or Debug console:

4-wire

 

/tools/test/adv/uart/rs232_4_wire_tesh.sh /dev/ttyS0

2-wire

 

/tools/test/adv/uart/rs232_2_wire_tesh.sh /dev/ttyS0

Result

1. Failure

/dev/ttyS0 Test Fail

2. Success

/dev/ttyS0 Test Pass

CAN

Test script need two CANs, set one CAN as sender and the other as receiver.

Then send "123#55" from the sender, check whether the receiver get the same data.

Preparation

  1. Short CAN0's CAN_L (PIN2 DB9) to CAN1's CAN_L (PIN2 DB9)
  2. Short CAN0's CAN_H (PIN7 DB9) to CAN1's CAN_H (PIN7 DB9)

Testing

Run the following command on DUT Terminal、ADB or Debug console:

can0 is receiver, can1 is sender


/tools/test/adv/can/can_test.sh can0 can1

can1 is receiver, can0 is sender


/tools/test/adv/can/can_test.sh can1 can0

Result

1. Failure

[ Failed ]: canbus Test Fail

2. Success

[ OK ]: canbus Test Pass

I2C PIN Header

SPI PIN Header

Using EG70 Test Board to read SPI flash.

Preparation

  1. Insert EG70 Test Board to DUT

[ Note ]

DB2510 SPIs have multi-functions, change to SPI PIN Header.

Testing

Run the following command on DUT Terminal、ADB or Debug console:

  

/tools/test/adv/spi/spi_test.sh mtd0

If test 2 SPI PIN Headers at the same time:

  

/tools/test/adv/spi/spi_test.sh mtd1

Result

1. Failure

[ Failed ]: SPI mtd0 Test Fail

2. Success

[ OK ]: SPI mtd0 Test Pass

Manual Test

SD Card

SATA

PCIE

USB

watchdog

lan

wlan

bluetooth

4G/5G

Audio

Camera

Display

SW reboot

Reboot Button

Power Button