| #!/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} |