From 5ba29b83b0b03a3b820b85d9edbea38fc166996b Mon Sep 17 00:00:00 2001 From: Ben Lye Date: Mon, 11 Dec 2017 11:29:40 +0000 Subject: [PATCH] Update build recipes and scripts for AVR and STM32 * Default output filename include board type when exported * Filename includes board type and firmware version * Fix upload script modes on Linux --- BootLoaders/Boards/avr/platform.local.txt | 15 ++++- BootLoaders/Boards/avr/tools/linux/do_version | 47 +++++++++++++++ .../Boards/avr/tools/linux64/do_version | 47 +++++++++++++++ .../Boards/avr/tools/macosx/do_version | 47 +++++++++++++++ .../Boards/avr/tools/win/do_version.bat | 54 ++++++++++++++++++ BootLoaders/Boards/stm32/platform.txt | 15 ++++- .../Boards/stm32/tools/linux/do_version | 47 +++++++++++++++ .../Boards/stm32/tools/linux/maple_upload | 17 ++++-- .../Boards/stm32/tools/linux/serial_upload | 13 ++++- .../Boards/stm32/tools/linux64/do_version | 47 +++++++++++++++ .../Boards/stm32/tools/linux64/serial_upload | 13 ++++- .../Boards/stm32/tools/linux64/upload-reset | Bin 7946 -> 13544 bytes .../Boards/stm32/tools/macosx/do_version | 47 +++++++++++++++ .../Boards/stm32/tools/win/do_version.bat | 54 ++++++++++++++++++ .../Boards/stm32/tools/win/get_version.bat | 9 --- 15 files changed, 455 insertions(+), 17 deletions(-) create mode 100644 BootLoaders/Boards/avr/tools/linux/do_version create mode 100644 BootLoaders/Boards/avr/tools/linux64/do_version create mode 100644 BootLoaders/Boards/avr/tools/macosx/do_version create mode 100644 BootLoaders/Boards/avr/tools/win/do_version.bat create mode 100644 BootLoaders/Boards/stm32/tools/linux/do_version create mode 100644 BootLoaders/Boards/stm32/tools/linux64/do_version create mode 100644 BootLoaders/Boards/stm32/tools/macosx/do_version create mode 100644 BootLoaders/Boards/stm32/tools/win/do_version.bat delete mode 100644 BootLoaders/Boards/stm32/tools/win/get_version.bat diff --git a/BootLoaders/Boards/avr/platform.local.txt b/BootLoaders/Boards/avr/platform.local.txt index 1322d9b..65ae6a9 100644 --- a/BootLoaders/Boards/avr/platform.local.txt +++ b/BootLoaders/Boards/avr/platform.local.txt @@ -1,3 +1,16 @@ ## Save hex recipe.output.tmp_file={build.project_name}.hex -recipe.output.save_file=multifw.hex +recipe.output.save_file=multi-avr.hex + +## Copy hex +# Make a copy of the compiled binary with the version number in the file name +recipe.hooks.objcopy.postobjcopy.01.pattern.windows="{runtime.platform.path}/tools/win/do_version.bat" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} +recipe.hooks.objcopy.postobjcopy.01.pattern.linux="{runtime.platform.path}/tools/linux/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} +recipe.hooks.objcopy.postobjcopy.01.pattern.linux64="{runtime.platform.path}/tools/linux64/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} +recipe.hooks.objcopy.postobjcopy.01.pattern.macosx="{runtime.platform.path}/tools/macosx/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} + +# If we're exporting the hex file, rename it with the version number +recipe.hooks.savehex.postsavehex.01.pattern.windows="{runtime.platform.path}/tools/win/do_version.bat" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT +recipe.hooks.savehex.postsavehex.01.pattern.linux="{runtime.platform.path}/tools/linux/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT +recipe.hooks.savehex.postsavehex.01.pattern.linux64="{runtime.platform.path}/tools/linux64/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT +recipe.hooks.savehex.postsavehex.01.pattern.macosx="{runtime.platform.path}/tools/macosx/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT diff --git a/BootLoaders/Boards/avr/tools/linux/do_version b/BootLoaders/Boards/avr/tools/linux/do_version new file mode 100644 index 0000000..ba2a182 --- /dev/null +++ b/BootLoaders/Boards/avr/tools/linux/do_version @@ -0,0 +1,47 @@ +#!/bin/bash + +BUILD_PATH=$1 +PROJECT_NAME=$2 +SKETCH_PATH=$3 +MULTI_BOARD=$4 +EXPORT_FLAG=$5 + +MULTI_TYPE=avr + +if [ -e "$BUILD_PATH/sketch/Multiprotocol.h" ]; then + MAJOR_VERSION=$(grep "VERSION_MAJOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + MINOR_VERSION=$(grep "VERSION_MINOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + REVISION_VERSION=$(grep "VERSION_REVISION" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + PATCH_VERSION=$(grep "VERSION_PATCH" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + + MULTI_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$REVISION_VERSION.$PATCH_VERSION +else + MULTI_VERSION= +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" +fi + +if [ $# -eq 5 ]; then + if [ $EXPORT_FLAG == "EXPORT" ]; then + + if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" + fi + if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" + fi + + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.hex" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.hex" + fi + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.bin" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.bin" + fi + fi +fi diff --git a/BootLoaders/Boards/avr/tools/linux64/do_version b/BootLoaders/Boards/avr/tools/linux64/do_version new file mode 100644 index 0000000..ba2a182 --- /dev/null +++ b/BootLoaders/Boards/avr/tools/linux64/do_version @@ -0,0 +1,47 @@ +#!/bin/bash + +BUILD_PATH=$1 +PROJECT_NAME=$2 +SKETCH_PATH=$3 +MULTI_BOARD=$4 +EXPORT_FLAG=$5 + +MULTI_TYPE=avr + +if [ -e "$BUILD_PATH/sketch/Multiprotocol.h" ]; then + MAJOR_VERSION=$(grep "VERSION_MAJOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + MINOR_VERSION=$(grep "VERSION_MINOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + REVISION_VERSION=$(grep "VERSION_REVISION" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + PATCH_VERSION=$(grep "VERSION_PATCH" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + + MULTI_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$REVISION_VERSION.$PATCH_VERSION +else + MULTI_VERSION= +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" +fi + +if [ $# -eq 5 ]; then + if [ $EXPORT_FLAG == "EXPORT" ]; then + + if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" + fi + if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" + fi + + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.hex" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.hex" + fi + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.bin" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.bin" + fi + fi +fi diff --git a/BootLoaders/Boards/avr/tools/macosx/do_version b/BootLoaders/Boards/avr/tools/macosx/do_version new file mode 100644 index 0000000..ba2a182 --- /dev/null +++ b/BootLoaders/Boards/avr/tools/macosx/do_version @@ -0,0 +1,47 @@ +#!/bin/bash + +BUILD_PATH=$1 +PROJECT_NAME=$2 +SKETCH_PATH=$3 +MULTI_BOARD=$4 +EXPORT_FLAG=$5 + +MULTI_TYPE=avr + +if [ -e "$BUILD_PATH/sketch/Multiprotocol.h" ]; then + MAJOR_VERSION=$(grep "VERSION_MAJOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + MINOR_VERSION=$(grep "VERSION_MINOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + REVISION_VERSION=$(grep "VERSION_REVISION" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + PATCH_VERSION=$(grep "VERSION_PATCH" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + + MULTI_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$REVISION_VERSION.$PATCH_VERSION +else + MULTI_VERSION= +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" +fi + +if [ $# -eq 5 ]; then + if [ $EXPORT_FLAG == "EXPORT" ]; then + + if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" + fi + if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" + fi + + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.hex" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.hex" + fi + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.bin" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.bin" + fi + fi +fi diff --git a/BootLoaders/Boards/avr/tools/win/do_version.bat b/BootLoaders/Boards/avr/tools/win/do_version.bat new file mode 100644 index 0000000..4cda254 --- /dev/null +++ b/BootLoaders/Boards/avr/tools/win/do_version.bat @@ -0,0 +1,54 @@ +@ECHO OFF +SETLOCAL EnableDelayedExpansion + +SET BUILD_PATH=%1 +SET PROJECT_NAME=%2 +SET SKETCH_PATH=%3 +SET MULTI_BOARD=%4 +SET EXPORT_FLAG=%5 + +REM ECHO Multi board: %MULTI_BOARD% + +SET MULTI_TYPE=avr + +IF EXIST "%1\sketch\Multiprotocol.h" ( + REM ECHO Getting Multi-MODULE firmware version from "%1\sketch\Multiprotocol.h" + FOR /F "tokens=* usebackq skip=2" %%A in (`find "#define VERSION_MAJOR" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%A") do SET MAJOR_VERSION=%%i + FOR /F "tokens=* usebackq skip=2" %%B in (`find "#define VERSION_MINOR" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%B") do SET MINOR_VERSION=%%i + FOR /F "tokens=* usebackq skip=2" %%C in (`find "#define VERSION_REVISION" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%C") do SET REVISION_VERSION=%%i + FOR /F "tokens=* usebackq skip=2" %%D in (`find "#define VERSION_PATCH_LEVEL" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%D") do SET PATCH_VERSION=%%i + SET MULTI_VER=!MAJOR_VERSION!.!MINOR_VERSION!.!REVISION_VERSION!.!PATCH_VERSION! +) ELSE ( + SET MULTI_VER= +) + +REM ECHO Multi-MODULE firmware version: %MULTI_VER% + +REM Copy the compiled file to the sketch folder with the version number in the file name +IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.hex" ( + REM ECHO COPY "%BUILD_PATH%\%PROJECT_NAME%.hex" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.hex" /Y + COPY "%BUILD_PATH%\%PROJECT_NAME%.hex" "%BUILD_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.hex" /Y >NUL +) + +IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.bin" ( + REM ECHO COPY "%BUILD_PATH%\%PROJECT_NAME%.bin" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.bin" /Y + COPY "%BUILD_PATH%\%PROJECT_NAME%.bin" "%BUILD_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.bin" /Y >NUL +) + +IF "%EXPORT_FLAG%"=="EXPORT" ( +REM Copy the compiled file to the sketch folder with the version number in the file name + IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.hex" ( + COPY "%BUILD_PATH%\%PROJECT_NAME%.hex" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.hex" /Y >NUL + ) + + IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.bin" ( + COPY "%BUILD_PATH%\%PROJECT_NAME%.bin" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.bin" /Y >NUL + ) + + IF EXIST "%SKETCH_PATH%\multi-%MULTI_TYPE%.bin" ( + DEL "%SKETCH_PATH%\multi-%MULTI_TYPE%.bin" >NUL + ) + IF EXIST "%SKETCH_PATH%\multi-%MULTI_TYPE%.hex" ( + DEL "%SKETCH_PATH%\multi-%MULTI_TYPE%.hex" >NUL + ) +) diff --git a/BootLoaders/Boards/stm32/platform.txt b/BootLoaders/Boards/stm32/platform.txt index 230f0a5..75cf2c6 100644 --- a/BootLoaders/Boards/stm32/platform.txt +++ b/BootLoaders/Boards/stm32/platform.txt @@ -103,7 +103,20 @@ recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).* ## Save Compiled Binary recipe.output.tmp_file={build.project_name}.bin #recipe.output.save_file={build.project_name}.{build.variant}.bin -recipe.output.save_file=multifw.bin +recipe.output.save_file=multi-stm.bin + +## Copy hex +# Make a copy of the compiled binary with the version number in the file name +recipe.hooks.objcopy.postobjcopy.01.pattern.windows="{runtime.platform.path}/tools/win/do_version.bat" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} +recipe.hooks.objcopy.postobjcopy.01.pattern.linux="{runtime.platform.path}/tools/linux/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} +recipe.hooks.objcopy.postobjcopy.01.pattern.linux64="{runtime.platform.path}/tools/linux64/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} +recipe.hooks.objcopy.postobjcopy.01.pattern.macosx="{runtime.platform.path}/tools/macosx/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} + +# If we're exporting the hex file, rename it with the version number +recipe.hooks.savehex.postsavehex.01.pattern.windows="{runtime.platform.path}/tools/win/do_version.bat" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT +recipe.hooks.savehex.postsavehex.01.pattern.linux="{runtime.platform.path}/tools/linux/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT +recipe.hooks.savehex.postsavehex.01.pattern.linux64="{runtime.platform.path}/tools/linux64/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT +recipe.hooks.savehex.postsavehex.01.pattern.macosx="{runtime.platform.path}/tools/macosx/do_version" "{build.path}" "{build.project_name}" "{build.source.path}" {build.board} EXPORT # Uploader tools # ------------------- diff --git a/BootLoaders/Boards/stm32/tools/linux/do_version b/BootLoaders/Boards/stm32/tools/linux/do_version new file mode 100644 index 0000000..b469a5c --- /dev/null +++ b/BootLoaders/Boards/stm32/tools/linux/do_version @@ -0,0 +1,47 @@ +#!/bin/bash + +BUILD_PATH=$1 +PROJECT_NAME=$2 +SKETCH_PATH=$3 +MULTI_BOARD=$4 +EXPORT_FLAG=$5 + +MULTI_TYPE=stm + +if [ -e "$BUILD_PATH/sketch/Multiprotocol.h" ]; then + MAJOR_VERSION=$(grep "VERSION_MAJOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + MINOR_VERSION=$(grep "VERSION_MINOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + REVISION_VERSION=$(grep "VERSION_REVISION" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + PATCH_VERSION=$(grep "VERSION_PATCH" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + + MULTI_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$REVISION_VERSION.$PATCH_VERSION +else + MULTI_VERSION= +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" +fi + +if [ $# -eq 5 ]; then + if [ $EXPORT_FLAG == "EXPORT" ]; then + + if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" + fi + if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" + fi + + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.hex" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.hex" + fi + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.bin" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.bin" + fi + fi +fi diff --git a/BootLoaders/Boards/stm32/tools/linux/maple_upload b/BootLoaders/Boards/stm32/tools/linux/maple_upload index 50d2ae5..8afaa65 100644 --- a/BootLoaders/Boards/stm32/tools/linux/maple_upload +++ b/BootLoaders/Boards/stm32/tools/linux/maple_upload @@ -2,23 +2,32 @@ #set -e - - if [ $# -lt 4 ]; then echo "Usage: $0 $# " >&2 exit 1 fi + dummy_port="$1"; altID="$2"; usbID="$3"; binfile="$4"; dummy_port_fullpath="/dev/$1" + if [ $# -eq 5 ]; then dfuse_addr="--dfuse-address $5" else dfuse_addr="" fi - # Get the directory where the script is running. DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +# Get the right upload-reset tool +uname -m | grep "x86_64" 2>&1 1>/dev/null +if [ $? -eq 0 ]; then + # Do 64-bit stuff + RESET_UTIL=${DIR}/../linux64/upload-reset +else + # Do 32-bit stuff + RESET_UTIL=${DIR}/upload-reset +fi + # ----------------- IMPORTANT ----------------- # The 2nd parameter to upload-reset is the delay after resetting before it exits # This value is in milliseonds @@ -26,7 +35,7 @@ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) # 750ms to 1500ms seems to work on my Mac -"${DIR}/upload-reset" ${dummy_port_fullpath} 750 +"${RESET_UTIL}" ${dummy_port_fullpath} 750 #DFU_UTIL=$(dirname $0)/dfu-util/dfu-util diff --git a/BootLoaders/Boards/stm32/tools/linux/serial_upload b/BootLoaders/Boards/stm32/tools/linux/serial_upload index 755444a..c540e5d 100644 --- a/BootLoaders/Boards/stm32/tools/linux/serial_upload +++ b/BootLoaders/Boards/stm32/tools/linux/serial_upload @@ -1,2 +1,13 @@ #!/bin/bash -$(dirname $0)/stm32flash/stm32flash -g 0x8000000 -b 115200 -w "$4" /dev/"$1" +port=$1 +addr=$2 +file=$3 + +uname -m | grep "x86_64" 2>&1 1>/dev/null +if [ $? -eq 0 ]; then + # Do 64-bit stuff + $(dirname $0)/../linux64/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port" +else + # Do 32-bit stuff + $(dirname $0)/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port" +fi diff --git a/BootLoaders/Boards/stm32/tools/linux64/do_version b/BootLoaders/Boards/stm32/tools/linux64/do_version new file mode 100644 index 0000000..b469a5c --- /dev/null +++ b/BootLoaders/Boards/stm32/tools/linux64/do_version @@ -0,0 +1,47 @@ +#!/bin/bash + +BUILD_PATH=$1 +PROJECT_NAME=$2 +SKETCH_PATH=$3 +MULTI_BOARD=$4 +EXPORT_FLAG=$5 + +MULTI_TYPE=stm + +if [ -e "$BUILD_PATH/sketch/Multiprotocol.h" ]; then + MAJOR_VERSION=$(grep "VERSION_MAJOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + MINOR_VERSION=$(grep "VERSION_MINOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + REVISION_VERSION=$(grep "VERSION_REVISION" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + PATCH_VERSION=$(grep "VERSION_PATCH" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + + MULTI_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$REVISION_VERSION.$PATCH_VERSION +else + MULTI_VERSION= +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" +fi + +if [ $# -eq 5 ]; then + if [ $EXPORT_FLAG == "EXPORT" ]; then + + if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" + fi + if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" + fi + + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.hex" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.hex" + fi + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.bin" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.bin" + fi + fi +fi diff --git a/BootLoaders/Boards/stm32/tools/linux64/serial_upload b/BootLoaders/Boards/stm32/tools/linux64/serial_upload index 755444a..c540e5d 100644 --- a/BootLoaders/Boards/stm32/tools/linux64/serial_upload +++ b/BootLoaders/Boards/stm32/tools/linux64/serial_upload @@ -1,2 +1,13 @@ #!/bin/bash -$(dirname $0)/stm32flash/stm32flash -g 0x8000000 -b 115200 -w "$4" /dev/"$1" +port=$1 +addr=$2 +file=$3 + +uname -m | grep "x86_64" 2>&1 1>/dev/null +if [ $? -eq 0 ]; then + # Do 64-bit stuff + $(dirname $0)/../linux64/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port" +else + # Do 32-bit stuff + $(dirname $0)/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port" +fi diff --git a/BootLoaders/Boards/stm32/tools/linux64/upload-reset b/BootLoaders/Boards/stm32/tools/linux64/upload-reset index 26985b857674d0c8d4999d53999a80f988591b96..77563d62677f7c1114dfb47be6469afdd12cd7f5 100644 GIT binary patch literal 13544 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 Y$nCQ3dQ?0rQncygN@K0Zz{86F2I@OOF#rGn literal 7946 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 I$I+hrKXKN%tN;K2 diff --git a/BootLoaders/Boards/stm32/tools/macosx/do_version b/BootLoaders/Boards/stm32/tools/macosx/do_version new file mode 100644 index 0000000..b469a5c --- /dev/null +++ b/BootLoaders/Boards/stm32/tools/macosx/do_version @@ -0,0 +1,47 @@ +#!/bin/bash + +BUILD_PATH=$1 +PROJECT_NAME=$2 +SKETCH_PATH=$3 +MULTI_BOARD=$4 +EXPORT_FLAG=$5 + +MULTI_TYPE=stm + +if [ -e "$BUILD_PATH/sketch/Multiprotocol.h" ]; then + MAJOR_VERSION=$(grep "VERSION_MAJOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + MINOR_VERSION=$(grep "VERSION_MINOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + REVISION_VERSION=$(grep "VERSION_REVISION" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + PATCH_VERSION=$(grep "VERSION_PATCH" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}') + + MULTI_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$REVISION_VERSION.$PATCH_VERSION +else + MULTI_VERSION= +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" +fi + +if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" +fi + +if [ $# -eq 5 ]; then + if [ $EXPORT_FLAG == "EXPORT" ]; then + + if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.hex" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex" + fi + if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then + cp "$BUILD_PATH/$PROJECT_NAME.bin" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin" + fi + + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.hex" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.hex" + fi + if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.bin" ]; then + rm "$SKETCH_PATH/multi-$MULTI_TYPE.bin" + fi + fi +fi diff --git a/BootLoaders/Boards/stm32/tools/win/do_version.bat b/BootLoaders/Boards/stm32/tools/win/do_version.bat new file mode 100644 index 0000000..cf6b92f --- /dev/null +++ b/BootLoaders/Boards/stm32/tools/win/do_version.bat @@ -0,0 +1,54 @@ +@ECHO OFF +SETLOCAL EnableDelayedExpansion + +SET BUILD_PATH=%1 +SET PROJECT_NAME=%2 +SET SKETCH_PATH=%3 +SET MULTI_BOARD=%4 +SET EXPORT_FLAG=%5 + +REM ECHO Multi board: %MULTI_BOARD% + +SET MULTI_TYPE=stm + +IF EXIST "%1\sketch\Multiprotocol.h" ( + REM ECHO Getting Multi-MODULE firmware version from "%1\sketch\Multiprotocol.h" + FOR /F "tokens=* usebackq skip=2" %%A in (`find "#define VERSION_MAJOR" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%A") do SET MAJOR_VERSION=%%i + FOR /F "tokens=* usebackq skip=2" %%B in (`find "#define VERSION_MINOR" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%B") do SET MINOR_VERSION=%%i + FOR /F "tokens=* usebackq skip=2" %%C in (`find "#define VERSION_REVISION" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%C") do SET REVISION_VERSION=%%i + FOR /F "tokens=* usebackq skip=2" %%D in (`find "#define VERSION_PATCH_LEVEL" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%D") do SET PATCH_VERSION=%%i + SET MULTI_VER=!MAJOR_VERSION!.!MINOR_VERSION!.!REVISION_VERSION!.!PATCH_VERSION! +) ELSE ( + SET MULTI_VER= +) + +REM ECHO Multi-MODULE firmware version: %MULTI_VER% + +REM Copy the compiled file to the sketch folder with the version number in the file name +IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.hex" ( + REM ECHO COPY "%BUILD_PATH%\%PROJECT_NAME%.hex" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.hex" /Y + COPY "%BUILD_PATH%\%PROJECT_NAME%.hex" "%BUILD_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.hex" /Y >NUL +) + +IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.bin" ( + REM ECHO COPY "%BUILD_PATH%\%PROJECT_NAME%.bin" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.bin" /Y + COPY "%BUILD_PATH%\%PROJECT_NAME%.bin" "%BUILD_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.bin" /Y >NUL +) + +IF "%EXPORT_FLAG%"=="EXPORT" ( +REM Copy the compiled file to the sketch folder with the version number in the file name + IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.hex" ( + COPY "%BUILD_PATH%\%PROJECT_NAME%.hex" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.hex" /Y >NUL + ) + + IF EXIST "%BUILD_PATH%\%PROJECT_NAME%.bin" ( + COPY "%BUILD_PATH%\%PROJECT_NAME%.bin" "%SKETCH_PATH%\multi-%MULTI_TYPE%-%MULTI_VER%.bin" /Y >NUL + ) + + IF EXIST "%SKETCH_PATH%\multi-%MULTI_TYPE%.bin" ( + DEL "%SKETCH_PATH%\multi-%MULTI_TYPE%.bin" >NUL + ) + IF EXIST "%SKETCH_PATH%\multi-%MULTI_TYPE%.hex" ( + DEL "%SKETCH_PATH%\multi-%MULTI_TYPE%.hex" >NUL + ) +) diff --git a/BootLoaders/Boards/stm32/tools/win/get_version.bat b/BootLoaders/Boards/stm32/tools/win/get_version.bat deleted file mode 100644 index 9babfbe..0000000 --- a/BootLoaders/Boards/stm32/tools/win/get_version.bat +++ /dev/null @@ -1,9 +0,0 @@ -@ECHO OFF - -FOR /F "tokens=* usebackq skip=2" %%A in (`find "#define VERSION_MAJOR" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%A") do SET MAJOR_VERSION=%%i -FOR /F "tokens=* usebackq skip=2" %%B in (`find "#define VERSION_MINOR" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%B") do SET MINOR_VERSION=%%i -FOR /F "tokens=* usebackq skip=2" %%C in (`find "#define VERSION_REVISION" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%C") do SET REVISION_VERSION=%%i -FOR /F "tokens=* usebackq skip=2" %%D in (`find "#define VERSION_PATCH_LEVEL" "%1\sketch\Multiprotocol.h"`) DO FOR /F "tokens=3" %%i in ("%%D") do SET PATCH_VERSION=%%i - -SET MULTI_VER=%MAJOR_VERSION%.%MINOR_VERSION%.%REVISION_VERSION%.%PATCH_VERSION% -ECHO %MULTI_VER%