1#!/bin/bash 2 3# function for building firmware 4function do_build() { 5 descr=$1 6 board=$2 7 shift 8 shift 9 echo "building $descr $board" 10 build_dir=/tmp/stm-build-$board 11 $MICROPY_AUTOBUILD_MAKE $@ BOARD=$board BUILD=$build_dir || exit 1 12 mv $build_dir/firmware.dfu $dest_dir/$descr$fw_tag.dfu 13 rm -rf $build_dir 14} 15 16# check/get parameters 17if [ $# != 2 ]; then 18 echo "usage: $0 <fw-tag> <dest-dir>" 19 exit 1 20fi 21 22fw_tag=$1 23dest_dir=$2 24 25# check we are in the correct directory 26if [ ! -r modpyb.c ]; then 27 echo "must be in stm directory" 28 exit 1 29fi 30 31# build the versions 32do_build pybv3 PYBV3 33do_build pybv3-network PYBV3 MICROPY_PY_WIZNET5K=5200 MICROPY_PY_CC3K=1 34do_build pybv10 PYBV10 35do_build pybv10-dp PYBV10 MICROPY_FLOAT_IMPL=double 36do_build pybv10-thread PYBV10 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' 37do_build pybv10-dp-thread PYBV10 MICROPY_FLOAT_IMPL=double CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' 38do_build pybv10-network PYBV10 MICROPY_PY_WIZNET5K=5200 MICROPY_PY_CC3K=1 39do_build pybv11 PYBV11 40do_build pybv11-dp PYBV11 MICROPY_FLOAT_IMPL=double 41do_build pybv11-thread PYBV11 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' 42do_build pybv11-dp-thread PYBV11 MICROPY_FLOAT_IMPL=double CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' 43do_build pybv11-network PYBV11 MICROPY_PY_WIZNET5K=5200 MICROPY_PY_CC3K=1 44do_build pyblitev10 PYBLITEV10 45do_build pyblitev10-dp PYBLITEV10 MICROPY_FLOAT_IMPL=double 46do_build pyblitev10-thread PYBLITEV10 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' 47do_build pyblitev10-dp-thread PYBLITEV10 MICROPY_FLOAT_IMPL=double CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' 48do_build pyblitev10-network PYBLITEV10 MICROPY_PY_WIZNET5K=5200 MICROPY_PY_CC3K=1 49do_build PYBD-SF2 PYBD_SF2 50do_build PYBD-SF3 PYBD_SF3 51do_build PYBD-SF6 PYBD_SF6 52 53for board in boards/{NUCLEO_*,STM32F*DISC,B_L*,USBDONGLE_WB55,ESPRUINO_PICO} ; do 54 bd=$(basename $board) 55 do_build $bd $bd USE_MBOOT=0 MBOOT_ENABLE_PACKING=0 56done 57