TOPDIR=../.. # Auto-generate the Arduino example # Arduino cannot set -DUVM32_MEMORY_SIZE, so add a config file # Arduino expects .cpp files # make test, runs in qemu all: echo '#include "config.h"' > uvm32.cpp cat ${TOPDIR}/uvm32/uvm32.c >> uvm32.cpp cp ${TOPDIR}/uvm32/uvm32.h uvm32.h cp ${TOPDIR}/uvm32/mini-rv32ima.h mini-rv32ima.h cp ${TOPDIR}/uvm32/rv32c.h rv32c.h cp ${TOPDIR}/common/uvm32_common_custom.h uvm32_common_custom.h cp ${TOPDIR}/common/uvm32_sys.h uvm32_sys.h xxd -n mandel -i ${TOPDIR}/precompiled/mandel.bin | sed -e "s/unsigned char/const unsigned char/" > mandel.h arduino-cli compile -b arduino:avr:uno -e test: all qemu-system-avr -machine uno -bios build/arduino.avr.uno/host-arduino.ino.elf -nographic -serial mon:stdio clean: rm -rf uvm32.cpp uvm32.h mini-rv32ima.h uvm32_common_custom.h uvm32_sys.h mandel.h build