blob: 75629f4202de36926f48e85b07654c137b307347 [file] [log] [blame]
#!/bin/sh
set -e
if [ -z ${CHERIOT_IBEX_SAFE_SIM} ] ; then
CHERIOT_IBEX_SAFE_SIM=/cheriot-tools/bin/cheriot_ibex_safe_sim
fi
if [ ! -x ${CHERIOT_IBEX_SAFE_SIM} ] ; then
echo Unable to locate simulator, please set CHERIOT_IBEX_SAFE_SIM to the full path to the simulator.
exit 1
fi
# Prepare the firmware directory with an IROM that just contains a single jump
# instruction that branches to the start of IRAM
if [ ! -d firmware ] ; then
mkdir firmware
# The start of IROM is a vectored interrupt table.
for I in `seq 32` ; do
echo 00000000 >> firmware/cpu0_irom.vhx
done
# Offset 0x80 is the entry point. Insert a single relative jump here that
# jumps to the start of IRAM.
echo 7813f06f >> firmware/cpu0_irom.vhx
fi
$(dirname $0)/ibex-build-firmware.sh $1
# Run the simulator.
${CHERIOT_IBEX_SAFE_SIM}