Newer
Older
#!/bin/sh
set -e
cd "$(dirname "$0")"
if ! [ -e .cargo-tools/bin/cargo-objcopy ] ; then
cargo install --root "$PWD/.cargo-tools/" cargo-binutils
fi
if ! [ -e .cargo-tools/bin/elf2uf2-rs ] ; then
cargo install --root "$PWD/.cargo-tools/" elf2uf2-rs
fi
if ! [ -e .cargo-tools/bin/probe-rs-cli ] ; then
cargo install --root "$PWD/.cargo-tools/" probe-rs-cli
fi
if ! [ -e .cargo-tools/bin/probe-rs-debugger ] ; then
cargo install --root "$PWD/.cargo-tools/" probe-rs-debugger
fi
( cd ../rust1-bootloader && cargo build --release && cargo objdump --release -- -xd >target/thumbv6m-none-eabi/release/heizung-bootloader.map )
./.cargo-tools/bin/elf2uf2-rs ../rust1-bootloader/target/thumbv6m-none-eabi/release/heizung-bootloader
cargo build --bin heizung
cargo objdump --bin heizung -- -xd >target/thumbv6m-none-eabi/debug/heizung.map
cargo build --bin heizung --release
cargo objdump --bin heizung --release -- -xd >target/thumbv6m-none-eabi/release/heizung.map
cargo build --bin blinky --release
cargo objdump --bin blinky --release -- -xd >target/thumbv6m-none-eabi/release/blinky.map
./.cargo-tools/bin/elf2uf2-rs target/thumbv6m-none-eabi/debug/heizung
./.cargo-tools/bin/elf2uf2-rs target/thumbv6m-none-eabi/release/heizung
./.cargo-tools/bin/elf2uf2-rs target/thumbv6m-none-eabi/release/blinky
mkdir -p build
cat ../rust1-bootloader/target/thumbv6m-none-eabi/release/heizung-bootloader.uf2 target/thumbv6m-none-eabi/debug/heizung.uf2 >build/heizung-debug.uf2
cat ../rust1-bootloader/target/thumbv6m-none-eabi/release/heizung-bootloader.uf2 target/thumbv6m-none-eabi/release/heizung.uf2 >build/heizung-release.uf2
cat ../rust1-bootloader/target/thumbv6m-none-eabi/release/heizung-bootloader.uf2 target/thumbv6m-none-eabi/release/blinky.uf2 >build/blinky-release.uf2
size target/thumbv6m-none-eabi/debug/heizung
size target/thumbv6m-none-eabi/release/heizung
size target/thumbv6m-none-eabi/release/blinky