From dc8703206e3f0f69605c56d0e1127f7e17f3476a Mon Sep 17 00:00:00 2001 From: Jan Sucan Date: Tue, 4 Jun 2019 14:34:27 +0200 Subject: Initial commit --- .../generate_cmd_write_DMAppFpgaProg.sh | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 testing/DMBootloader/generate_cmd_write_DMAppFpgaProg.sh (limited to 'testing/DMBootloader/generate_cmd_write_DMAppFpgaProg.sh') diff --git a/testing/DMBootloader/generate_cmd_write_DMAppFpgaProg.sh b/testing/DMBootloader/generate_cmd_write_DMAppFpgaProg.sh new file mode 100644 index 0000000..fbd53e2 --- /dev/null +++ b/testing/DMBootloader/generate_cmd_write_DMAppFpgaProg.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# Generates commands to Write DMAppFpgaProg the the FLASH memory +# through DMBootloader + +APPIMAGE=../../impl/DMAppFpgaProg/DMAppFpgaProg/Release/DMAppFpgaProg.bin +OUTDIR=7_write_DMAppFpgaProg + +# Compute number of FLASH memory pages to write +APPSIZE=$(du -b $APPIMAGE | awk '{ print $1 }') +APPPAGES=$(( $APPSIZE / 512)) +[ $(( $APPSIZE % 512 )) -ne 0 ] && APPPAGES=$(( $APPPAGES + 1 )) + +for i in $(seq 1 $(( $APPPAGES ))); do + virtual_page=$(( $i - 1 )) + wr=${OUTDIR}/${i}_cmd + + # Generate write command + ./create_dmbootloader_cmd.sh write $virtual_page $wr + + # Replace random data in the command with the page from application image + dd bs=1 count=512 if=$APPIMAGE of=$wr skip=$(( $virtual_page * 512 )) seek=3 2>/dev/null + + echo "Generated $(( $i )) / $APPPAGES" +done + +# Each Write command must complete with success +printf '\x00' >${OUTDIR}/reply + +exit 0 -- cgit v1.2.3