2024-04-10 20:35:14 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
if [ $# -eq 0 ]
|
|
|
|
then
|
|
|
|
echo "No arguments supplied! Provide path to ELF as argument"
|
|
|
|
fi
|
|
|
|
|
|
|
|
outputfilenamecargo=$1
|
|
|
|
outputfilename="$outputfilenamecargo".bin
|
|
|
|
|
|
|
|
logfile=qemu.log
|
|
|
|
|
|
|
|
qemuexec=qemu-system-riscv32
|
|
|
|
|
|
|
|
# Building ESP32-C3 image
|
|
|
|
espflash save-image --chip esp32c3 --merge "$outputfilenamecargo" "$outputfilename" 1>&2
|
|
|
|
|
|
|
|
# Get stats
|
|
|
|
esptool.py image_info --version 2 "$outputfilename" 1>&2
|
|
|
|
|
|
|
|
# Run in QEMU
|
|
|
|
$qemuexec -nographic -monitor tcp:127.0.0.1:55555,server,nowait -icount 3 -machine esp32c3 -drive file="$outputfilename",if=mtd,format=raw -serial file:"$logfile" &
|
|
|
|
|
|
|
|
# Let it run
|
|
|
|
sleep 3s
|
|
|
|
|
|
|
|
# Kill QEMU nicely by sending 'q' (quit) over tcp
|
|
|
|
echo q | nc -N 127.0.0.1 55555
|
2024-04-11 00:00:38 +02:00
|
|
|
# Output that will be compared, remove the esp_image segments as they change
|
|
|
|
# between runs
|
|
|
|
cat "$logfile" | sed 's/esp_image: .*$/esp_image: REDACTED/'
|