1#!/usr/bin/bash 2 3set -u 4 5 6# ------------------------------------------------------------------------------ 7# READ FIRMWARE LIST 8# ------------------------------------------------------------------------------ 9source $REVOLUTION_SDK_ROOT/x86/bin/ndrun_fwlist 10 11# ------------------------------------------------------------------------------ 12# SET FIRMWARE 13# ------------------------------------------------------------------------------ 14if [ $# -eq 0 ] 15then 16 echo "usage: setfirmware <major version of firmware>" 17 echo " Sets the firmware (standard or extention)." 18 echo " * extention firmware : ${FW_FOR_EXTENSION}" 19 echo " * standard firmware : ${FW_FOR_STANDARD}" 20 exit 0 21fi 22 23if [ "$NDEV" = "" ] 24then 25 echo "NDEV is not found. Do nothing and exit." 26 exit 0 27fi 28 29echo "NDEV detected" 30 31SDK_ROOT=`cygpath -am ${REVOLUTION_SDK_ROOT}` 32FIRMWARE_VERSION=$1 33 34case $FIRMWARE_VERSION in 35*.*.*.* ) 36 echo "" 37 echo "Setting firmware version to $FIRMWARE_VERSION ..." 38 echo "" 39 echo "Error: Worng version format. Do nothing and exit." 40 exit 0 41 ;; 42 43*.*.* ) 44 echo "" 45 echo "Setting firmware version to $FIRMWARE_VERSION ..." 46 echo "" 47 make -C ${SDK_ROOT}/RVL/boot FIRMWARE_VERSION=$FIRMWARE_VERSION 48 echo 49 mv -f ${SDK_ROOT}/RVL/boot/apploader.${FIRMWARE_VERSION}.img ${SDK_ROOT}/RVL/boot/apploader${FIRMWARE_VERSION}.img 50 FIRMWARE_VERSION_MEJOR=${FIRMWARE_VERSION//.*/} 51 ;; 52 53 * ) 54 # ------------------------------------------------------------------------ 55 # Based on the major version of the firmware as input, extract firmware 56 # version information to be embedded in apploader.img 57 # ------------------------------------------------------------------------ 58 # First check ndrun_fwlist. If the information is not in the list, use 59 # the name of the swupdate file. The reasoning for not using the swupdate 60 # filename from the beginning is because the standard SDK contains two 61 # firmwares, but privately released swupdates should only contain one firmware. 62 # ------------------------------------------------------------------------ 63 VER_STR=`cat ${SDK_ROOT}/X86/bin/ndrun_fwlist | grep =\"${1} |sed 's/.*=//'|sed 's/\r\n//g'|sed 's/\"//g'` 64 if [ -z $VER_STR ] ; then 65 VER_STR=`find ${SDK_ROOT}/RVL/bin/tools/swupdate*.gcm -type f | grep swupdate\.${1} |sed 's/.*swupdate\(.*\)_.*.gcm/\1/g'|sort -u|sed 's/\r\n//g'|sed 's/_/./g'` 66 fi 67 68 TMP_FW_VER="N/A" 69 for TMP_FW_VER in $VER_STR ; do echo -n ;done 70 echo "" 71 echo "Setting firmware version to ${TMP_FW_VER} ..." 72 echo "" 73 if [ $TMP_FW_VER != "N/A" ] ; then 74 make -C ${SDK_ROOT}/RVL/boot FIRMWARE_VERSION=$TMP_FW_VER 75 mv -f ${SDK_ROOT}/RVL/boot/apploader.${TMP_FW_VER}.img ${SDK_ROOT}/RVL/boot/apploader${FIRMWARE_VERSION}.img 76 echo 77 fi 78 79 FIRMWARE_VERSION_MEJOR=${FIRMWARE_VERSION} 80 ;; 81 esac 82 83# 84# change NDEV configuration 85# 86if cp -pf $REVOLUTION_SDK_ROOT/RVL/boot/apploader${FIRMWARE_VERSION}.img $REVOLUTION_SDK_ROOT/RVL/boot/apploader.img && $REVOLUTION_SDK_ROOT/X86/bin/rvlbinconv -f $REVOLUTION_SDK_ROOT/X86/bin/rvl.bin -i ${FIRMWARE_VERSION_MEJOR} 87then 88 case $1 in 89 `echo ${FW_FOR_EXTENSION}|sed s/.[^\.]*.[^\.]*$//`) 90 echo "" 91 echo "Successfully done. Set the firmware for EXTENSION." 92 echo "" 93 ;; 94 `echo ${FW_FOR_STANDARD}|sed s/.[^\.]*.[^\.]*$//`) 95 echo "" 96 echo "Successfully done. Set the firmware for STANDARD." 97 echo "" 98 ;; 99 *) 100 echo "" 101 echo "Successfully done. Set the unexpected firmware." 102 echo "" 103 ;; 104 esac 105else 106 echo "" 107 echo "Failed to set the firmware version." 108 exit 1 109fi 110 111echo 112echo "**********************************************************************" 113echo "* If you make master data, you must execute ndrun before you do so!! *" 114echo "**********************************************************************" 115echo 116 117