diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/psim/tools/psim')
-rwxr-xr-x | c/src/lib/libbsp/powerpc/psim/tools/psim | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/psim/tools/psim b/c/src/lib/libbsp/powerpc/psim/tools/psim new file mode 100755 index 0000000000..8ff6b7337c --- /dev/null +++ b/c/src/lib/libbsp/powerpc/psim/tools/psim @@ -0,0 +1,44 @@ +#! /bin/sh +# +# Shell script to ease invocation of the powerpc simulator +# +# $Id$ +# + +TREE_FILE=psim_tree.${LOGNAME} +GDB_FILE=gdb_tree.${LOGNAME} + +# GDB_DEBUG="-t sem-device" +# RUN_DEBUG="-t sem_device" + +# Build this user's device tree file +echo "/#address-cells 2" > ${TREE_FILE} +echo "/openprom/options/oea-memory-size 4194304" >> ${TREE_FILE} +# These require the semaphore and shared memory device models. +# echo "/shm@0xc0000000/reg 0xc0000000 0x10000" >> ${TREE_FILE} +# echo "/shm@0xc0000000/key ${RTEMS_SHM_KEY}" >> ${TREE_FILE} +# echo "/sem@0xc0010000/reg 0xc0010000 12" >> ${TREE_FILE} +# echo "/sem@0xc0010000/key ${RTEMS_SHM_SEMAPHORE_KEY}" >> ${TREE_FILE} +# echo "/sem@0xc0010000/value -1" >> ${TREE_FILE} +# +# Build this user's gdb script +echo "tar sim -f ${TREE_FILE} ${GDB_DEBUG}" > ${GDB_FILE} +echo "load" >> ${GDB_FILE} +echo "b _Internal_error_Occurred" >> ${GDB_FILE} +echo "b rtems_fatal_error_occurred" >> ${GDB_FILE} +echo "b __assert" >> ${GDB_FILE} + +RUN=powerpc-rtems-run +GDB=powerpc-rtems-gdb + +case $0 in + *gdb*) + ${GDB} -x ${GDB_FILE} $* + ;; + *) + ${RUN} -f ${TREE_FILE} $* + ${RUN} -f ${TREE_FILE} ${RUN_DEBUG} $* + ;; +esac +exit $? + |