| #!/bin/bash |
| DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| DEFAULT_TOOLPATH="$DIR/toolpaths.default" |
| if [ -e "$DEFAULT_TOOLPATH" ] |
| then |
| source $DEFAULT_TOOLPATH |
| fi |
| |
| function HELP { |
| echo "help:" |
| echo "-c cmpctmalloc instead of dlmalloc" |
| echo "-M miniheap instead of dlmalloc" |
| echo "-h for help" |
| echo "all arguments after -- are passed to qemu directly" |
| exit 1 |
| } |
| |
| DO_CMPCTMALLOC=0 |
| DO_MINIHEAP=0 |
| MEMSIZE=8 |
| |
| while getopts bdhm:cMnt6 FLAG; do |
| case $FLAG in |
| c) DO_CMPCTMALLOC=1;; |
| M) DO_MINIHEAP=1;; |
| M) DO_MINIHEAP=1;; |
| h) HELP;; |
| \?) |
| echo unrecognized option |
| HELP |
| esac |
| done |
| |
| shift $((OPTIND-1)) |
| |
| if [ -z "$QEMUM4" ]; then |
| echo "QEMUM4 is not defined. Set QEMUM4='path/to/qemu-m4' inside scripts/toolpaths.local" |
| exit 1 |
| fi |
| |
| PROJECT="qemu-m4-test" |
| |
| ARGS=" -serial tcp::12345,server,nowait " # Logs |
| ARGS+=" -serial tcp::12344,server,nowait " # Debug |
| ARGS+=" -serial stdio" # Console |
| ARGS+=" -machine pebble-s4-bb -cpu cortex-m4" |
| ARGS+=" -pflash build-${PROJECT}/lk.bin " |
| ARGS+=" -monitor tcp::12346,server,nowait" |
| |
| if [ $DO_CMPCTMALLOC == 1 ]; then |
| MAKE_VARS=LK_HEAP_IMPLEMENTATION=cmpctmalloc |
| elif [ $DO_MINIHEAP == 1 ]; then |
| MAKE_VARS=LK_HEAP_IMPLEMENTATION=miniheap |
| fi |
| |
| make $MAKE_VARS $PROJECT -j4 && |
| echo $QEMUM4 $ARGS $@ && |
| $QEMUM4 $ARGS $@ |