diff --git a/bootloader/build_multi_image.sh b/bootloader/build_multi_image.sh new file mode 100755 index 0000000000000000000000000000000000000000..db1943a918de7e67d9d30a4c5bf89d4bcdf16f3e --- /dev/null +++ b/bootloader/build_multi_image.sh @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +echo "build multi image" $1 $2 $3 $4 +PYTHON="$1" +BIN1="$2" +BIN2="$3" +BINOUT="$4" + +dd if=/dev/zero ibs=1k count=448 | tr "\000" "\377" > "$BINOUT" +dd if="$BIN1" of="$BINOUT" conv=notrunc +dd if="$BIN2" of="$BINOUT" conv=notrunc oflag=append + +"$PYTHON" "$(dirname "$0")/crc_patch.py" "$BINOUT" diff --git a/bootloader/meson.build b/bootloader/meson.build index d97a221787468c619ad732344865f363dd0f1f5f..e2c831efa3b62d9a962396d761bd783411e9b420 100644 --- a/bootloader/meson.build +++ b/bootloader/meson.build @@ -20,3 +20,6 @@ executable( # build_image.sh build_image = [files('./build_image.sh'), python3] + +# build_multi_image.sh +build_multi_image = [files('./build_multi_image.sh'), python3] diff --git a/epicardium/meson.build b/epicardium/meson.build index 767c9c4f9273203af677cc1dcc10775721510f60..c999871cbaf7a7da65011e40e3332523755ca93c 100644 --- a/epicardium/meson.build +++ b/epicardium/meson.build @@ -56,7 +56,7 @@ elf = executable( ], ) -custom_target( +epicardium_bin = custom_target( name + '.bin', build_by_default: true, output: name + '.bin', diff --git a/pycardium/meson.build b/pycardium/meson.build index 49d083c387b4db950df78a78d2360b26fb7f4b35..956f5bd59bb312489df07990c9cdb3f631ebec2d 100644 --- a/pycardium/meson.build +++ b/pycardium/meson.build @@ -63,10 +63,18 @@ elf = executable( ], ) -custom_target( +bin = custom_target( name + '.bin', build_by_default: true, output: name + '.bin', input: elf, command: [build_image, '@INPUT@', '@OUTPUT0@'], ) + +custom_target( + name + '_epicardium.bin', + build_by_default: true, + output: name + '_epicardium.bin', + input: [epicardium_bin, bin], + command: [build_multi_image, '@INPUT@', '@OUTPUT0@'], +)