128 lines
4.2 KiB
Bash
Executable File
128 lines
4.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
export INSERT_WC=${2:-0}
|
|
export BUILD_DIR=${1:-build}
|
|
mkdir -p $BUILD_DIR
|
|
|
|
build () {
|
|
make -C ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC clean && make -C ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC $1=1 IGNORE_INTERRUPTS=$IGNORE_INTERRUPTS IGNORE_BYTES=$IGNORE_BYTES IGNORE_INTERNAL_STATE=$IGNORE_INTERNAL_STATE INSERT_WC=$INSERT_WC $EXTRA_MAKE_ARGS
|
|
cp ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/build/RTOSDemo.axf $BUILD_DIR/$(echo $1 | cut -d_ -f1 | tr '[:upper:]' '[:lower:]')$EXTRA_NAME_SUFFIX$2.elf
|
|
}
|
|
|
|
mkdir -p build
|
|
|
|
# Sequential inputs!
|
|
export PARTITION_INPUT=0
|
|
unset SPECIAL_CFLAGS
|
|
|
|
# Baseline
|
|
## Don't keep rng states
|
|
export IGNORE_INTERNAL_STATE=1
|
|
### Only bytes
|
|
export IGNORE_INTERRUPTS=1 IGNORE_BYTES=0 SUFFIX="_seq_bytes"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
### Only interrupts
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=1 SUFFIX="_seq_int"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
### Full
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_seq_full"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
build POLYCOPTER_DEMO $SUFFIX
|
|
|
|
# Stateful -> presumably bad for us
|
|
## keep rng states
|
|
export IGNORE_INTERNAL_STATE=0
|
|
### Full
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_seq_stateful_full"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
|
|
# Paritioned inputs
|
|
export PARTITION_INPUT=1
|
|
|
|
# Alternative input scheme
|
|
## Don't keep rng states
|
|
export IGNORE_INTERNAL_STATE=1
|
|
### Only bytes
|
|
export IGNORE_INTERRUPTS=1 IGNORE_BYTES=0 SUFFIX="_par_bytes"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
### Only interrupts
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=1 SUFFIX="_par_int"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
### Full
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_par_full"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
build POLYCOPTER_DEMO $SUFFIX
|
|
|
|
# Stateful -> presumably bad for us
|
|
## keep rng states
|
|
export IGNORE_INTERNAL_STATE=0
|
|
### Full
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_par_stateful_full"
|
|
build WATERS_DEMO $SUFFIX
|
|
build RELEASE_DEMO $SUFFIX
|
|
build COPTER_DEMO $SUFFIX
|
|
|
|
# Stateful -> presumably bad for us
|
|
## keep rng states
|
|
export IGNORE_INTERNAL_STATE=0
|
|
export PARTITION_INPUT=0
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_seq_stateful_full"
|
|
build POLYCOPTER_DEMO $SUFFIX
|
|
|
|
# stateless + dataflow
|
|
export PARTITION_INPUT=0
|
|
export IGNORE_INTERNAL_STATE=1
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_seq_dataflow_full"
|
|
export SPECIAL_CFLAGS="-DCOPTER_DATAFLOW=1"
|
|
build POLYCOPTER_DEMO $SUFFIX
|
|
unset SPECIAL_CFLAGS
|
|
|
|
export PARTITION_INPUT=0
|
|
export IGNORE_INTERNAL_STATE=1
|
|
export IGNORE_INTERRUPTS=1 IGNORE_BYTES=0 SUFFIX="_seq_dataflow_bytes"
|
|
export SPECIAL_CFLAGS="-DCOPTER_DATAFLOW=1"
|
|
build POLYCOPTER_DEMO $SUFFIX
|
|
unset SPECIAL_CFLAGS
|
|
|
|
# stateless + dataflow
|
|
export PARTITION_INPUT=1
|
|
export IGNORE_INTERNAL_STATE=1
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_par_dataflow_full"
|
|
export SPECIAL_CFLAGS="-DCOPTER_DATAFLOW=1"
|
|
build POLYCOPTER_DEMO $SUFFIX
|
|
unset SPECIAL_CFLAGS
|
|
|
|
|
|
# special waters with no synchronization
|
|
export PARTITION_INPUT=0
|
|
export IGNORE_INTERNAL_STATE=1
|
|
export IGNORE_INTERRUPTS=0 IGNORE_BYTES=0 SUFFIX="_seq_unsync_full"
|
|
export SPECIAL_CFLAGS="-DWATERS_UNSYNCHRONIZED=1"
|
|
build WATERS_DEMO $SUFFIX
|
|
unset SPECIAL_CFLAGS
|
|
|
|
# Create copies with special names
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc12_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc13_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc14_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc11_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc21_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc22_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc23_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc31_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc32_seq_full.elf
|
|
cp -f $BUILD_DIR/waters_seq_full.elf $BUILD_DIR/watersIc33_seq_full.elf
|