summaryrefslogtreecommitdiff
path: root/polux/tools/genNVRAM/flashboot.sh
diff options
context:
space:
mode:
Diffstat (limited to 'polux/tools/genNVRAM/flashboot.sh')
-rwxr-xr-xpolux/tools/genNVRAM/flashboot.sh73
1 files changed, 73 insertions, 0 deletions
diff --git a/polux/tools/genNVRAM/flashboot.sh b/polux/tools/genNVRAM/flashboot.sh
new file mode 100755
index 0000000000..97be3b701c
--- /dev/null
+++ b/polux/tools/genNVRAM/flashboot.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+REP=//moulins/CRISTINA/
+TMPNVRAM=C:/cygwin/tmp/nvram
+
+export PATH=.:"$PATH"
+
+if [ $# -lt 2 ]
+then
+ echo "Usage: $0 <board> <no> [ <bootloader file > ]"
+ exit
+fi
+
+BOARD=$1
+NO=$2
+BFILE=$3
+
+which SPiDProgrammer > /dev/null 2> /dev/null
+if [ "$?" != "0" ]
+then
+ echo "Unable to find SPiDProgrammer"
+ exit
+fi
+
+which genNVRAM > /dev/null 2> /dev/null
+if [ "$?" != "0" ]
+then
+ echo "Unable to find genNVRAM"
+ exit
+fi
+
+if [ "$BOARD" = "angelina" -o "$BOARD" = "SPR200-ETH" ]
+then
+ BREP="ANGELINA"
+ BOARD="SPR200-ETH"
+elif [ "$BOARD" = "sofia" -o "$BOARD" = "SPK200-e" ]
+then
+ BREP="CRISTINA3"
+ BOARD="SPK200-e"
+elif [ "$BOARD" = "cristina2" -o "$BOARD" = "SPK200-2" ]
+then
+ BREP="CRISTINA2"
+ BOARD="SPK200-2"
+else
+ echo "Board must be angelina, sofia, cristina2, SPR200-ETH, SPK200-e or SPK200-2"
+ exit
+fi
+
+if [ -n "$BFILE" ]
+then
+ if [ ! -f "$BFILE" ]
+ then
+ echo "File $BFILE not found."
+ exit
+ fi
+else
+ ls $REP/$BREP/bootloader | grep -o "[0-9]*\.[0-9]*" |sort -r -t . -g -k 1,1 -k 2,2 > /tmp/vers
+ read VERSION < /tmp/vers
+ BFILE=$REP/$BREP/bootloader/v$VERSION/SPiDBoot-$BOARD.bin
+fi
+
+echo "Generating NVRAM for $BOARD no $NO in $TMPNVRAM"
+genNVRAM $BOARD $NO > $TMPNVRAM
+[ "$?" = "0" ] || exit
+
+echo "Flashing $TMPNVRAM at 0x0e020000"
+SPiDProgrammer -n $TMPNVRAM 0x0e020000 > /dev/null
+[ "$?" = "0" ] || exit
+
+echo "Flashing $BFILE at 0x0e000000"
+SPiDProgrammer -n $BFILE > /dev/null
+[ "$?" = "0" ] || exit
+
+rm -f $TMPNVRAM