diff options
-rw-r--r-- | test/dfu/README | 34 | ||||
-rwxr-xr-x | test/dfu/dfu_gadget_test.sh | 13 | ||||
-rwxr-xr-x | test/dfu/dfu_gadget_test_init.sh | 9 |
3 files changed, 30 insertions, 26 deletions
diff --git a/test/dfu/README b/test/dfu/README index f8c1a74..4ea0b3b 100644 --- a/test/dfu/README +++ b/test/dfu/README @@ -1,30 +1,32 @@ DFU TEST CASE DESCRIPTION: -The prerequisites for running this script are assured by dfu_gadget_test_init.sh. +The prerequisites for running this script are assured by +dfu_gadget_test_init.sh, which is automatically invoked by dfu_gadget_test.sh. In this file user is able to generate their own set of test files by altering the default set of TEST_FILES_SIZES variable. The dfu_gadget_test_init.sh would generate test images only if they are not already generated. -Moreover, on a target device the "dfu_alt_info" env variable should be extended -to have "dfu_test.bin fat 0 6;" \ entry ([1]). For reference please consult the -config file for TRATS/TRATS2 devices (./include/configs/trats{2}.h) +On the target device, environment variable "dfu_alt_info" must contain at +least: -One can use fat, ext4 or any other supported file system, which can be -created in a convenient way with exporting partitions via UMS (ums 0 mmc 0) -and using standard tools on host (like mkfs.ext4). + dfu_test.bin fat 0 6;dfudummy.bin fat 0 6 + +Depending on your device, you may need to replace "fat" with +"ext4", and "6" with the relevant partition number. For reference please +consult the config file for TRATS/TRATS2 devices +(../../include/configs/trats{2}.h) + +One can use fat, ext4 or any other supported file system supported by U-Boot. +These can be created by exporting storage devices via UMS (ums 0 mmc 0) and +using standard tools on host (like mkfs.ext4). Example usage: 1. On the target: - env default -a + setenv dfu_alt_info dfu_test.bin fat 0 6\;dfudummy.bin fat 0 6 dfu 0 mmc 0 2. On the host: - ./dfu_gadget_test.sh 11 [test_file] - -where 11 is the mumber of alt setting corresponding to entry [1] and [test_file] -is an optional parameter, with which one can explicitly indicate the test file -to be used. + test/dfu/dfu_gadget_test.sh dfu_test.bin dfudummy.bin -The number of the alt setting entry can be obtained with dfu-util -l command. -In its output one should look for the 'name="dfu_test1.bin"' and corresponding -alt=11. +... where dfu_test.bin and dfudummy.bin are the names of the alt settings from +$dfu_alt_info. diff --git a/test/dfu/dfu_gadget_test.sh b/test/dfu/dfu_gadget_test.sh index 4a848c8..c5c5f1d 100755 --- a/test/dfu/dfu_gadget_test.sh +++ b/test/dfu/dfu_gadget_test.sh @@ -1,4 +1,5 @@ #! /bin/bash + set -e # any command return if not equal to zero clear @@ -11,10 +12,11 @@ SUFFIX=img RCV_DIR=rcv/ LOG_FILE=./log/log-`date +%d-%m-%Y_%H-%M-%S` +cd `dirname $0` ./dfu_gadget_test_init.sh cleanup () { - rm -rf $RCV_DIR + rm -rf $DIR$RCV_DIR } die () { @@ -40,6 +42,8 @@ dfu_test_file () { MD5_TX=$MD5SUM + dfu-util -D ${DIR}/dfudummy.bin -a $TARGET_ALT_SETTING_B >> $LOG_FILE 2>&1 || die $? + N_FILE=$DIR$RCV_DIR${1:2}"_rcv" dfu-util -U $N_FILE -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $? @@ -62,7 +66,7 @@ printf "$COLOUR_GREEN=========================================================== echo "DFU EP0 transmission test program" echo "Trouble shoot -> disable DBG (even the KERN_DEBUG) in the UDC driver" echo "@ -> TRATS2 # dfu 0 mmc 0" -mkdir -p $RCV_DIR +mkdir -p $DIR$RCV_DIR touch $LOG_FILE if [ $# -eq 0 ] @@ -72,10 +76,11 @@ then fi TARGET_ALT_SETTING=$1 +TARGET_ALT_SETTING_B=$2 -if [ -n "$2" ] +if [ -n "$3" ] then - dfu_test_file $2 + dfu_test_file $3 else for file in $DIR*.$SUFFIX do diff --git a/test/dfu/dfu_gadget_test_init.sh b/test/dfu/dfu_gadget_test_init.sh index b319ed0..fb54ad8 100755 --- a/test/dfu/dfu_gadget_test_init.sh +++ b/test/dfu/dfu_gadget_test_init.sh @@ -1,4 +1,5 @@ #! /bin/bash + set -e # any command return if not equal to zero clear @@ -7,9 +8,8 @@ COLOUR_GREEN="\33[32m" COLOUR_DEFAULT="\33[0m" LOG_DIR="./log" -BKP_DIR="./bkp" -TEST_FILES_SIZES="127 128 129 8M 4095 4096 4097 63 64 65 960" +TEST_FILES_SIZES="63 64 65 127 128 129 4095 4096 4097 959 960 961 8M" printf "Init script for generating data necessary for DFU test script" @@ -17,10 +17,6 @@ if [ ! -d $LOG_DIR ]; then `mkdir $LOG_DIR` fi -if [ ! -d $BKP_DIR ]; then - `mkdir $BKP_DIR` -fi - for size in $TEST_FILES_SIZES do FILE="./dat_$size.img" @@ -28,6 +24,7 @@ do dd if=/dev/urandom of="./dat_$size.img" bs=$size count=1 > /dev/null 2>&1 || exit $? fi done +dd if=/dev/urandom of="./dfudummy.bin" bs=1024 count=1 > /dev/null 2>&1 || exit $? printf "$COLOUR_GREEN OK $COLOUR_DEFAULT \n" |