1#!/bin/bash 2 3PYTHON3=python3 4yaota8266=$HOME/yaota8266 5 6# for debugging 7#exec &> /tmp/esp-log-$$.txt 8 9# function for building firmware 10function do_build() { 11 descr=$1 12 board=$2 13 shift 14 shift 15 echo "building $descr $board" 16 #build_dir=/tmp/esp8266-build-$board 17 build_dir=build-$board # until esp8266.ld is fixed 18 rm -rf $build_dir # be sure we don't have anything leftover from a previous build 19 $MICROPY_AUTOBUILD_MAKE $@ BOARD=$board BUILD=$build_dir || exit 1 20 mv $build_dir/firmware-combined.bin $dest_dir/$descr$fw_tag.bin 21 mv $build_dir/firmware.elf $dest_dir/$descr$fw_tag.elf 22 mv $build_dir/firmware.map $dest_dir/$descr$fw_tag.map 23 rm -rf $build_dir 24} 25 26function do_build_ota() { 27 descr=$1 28 board=$2 29 shift 30 shift 31 echo "building $descr $board" 32 #build_dir=/tmp/esp8266-build-$board 33 build_dir=build-$board # until esp8266.ld is fixed 34 rm -rf $build_dir # be sure we don't have anything leftover from a previous build 35 $MICROPY_AUTOBUILD_MAKE $@ BOARD=$board BUILD=$build_dir || exit 1 36 cat $yaota8266/yaota8266.bin $build_dir/firmware-ota.bin > $dest_dir/$descr$fw_tag.bin 37 cwd=$(pwd) 38 pushd $yaota8266/ota-client 39 $PYTHON3 ota_client.py sign $cwd/$build_dir/firmware-ota.bin 40 popd 41 mv $build_dir/firmware-ota.bin.ota $dest_dir/$descr$fw_tag.ota 42 mv $build_dir/firmware.elf $dest_dir/$descr$fw_tag.elf 43 mv $build_dir/firmware.map $dest_dir/$descr$fw_tag.map 44 #rm -rf $build_dir 45} 46 47# check/get parameters 48if [ $# != 2 ]; then 49 echo "usage: $0 <fw-tag> <dest-dir>" 50 exit 1 51fi 52 53fw_tag=$1 54dest_dir=$2 55 56# check we are in the correct directory 57if [ ! -r boards/esp8266_common.ld ]; then 58 echo "must be in esp8266 directory" 59 exit 1 60fi 61 62# build the versions 63do_build esp8266 GENERIC 64do_build esp8266-512k GENERIC_512K 65do_build esp8266-1m GENERIC_1M 66do_build_ota esp8266-ota GENERIC ota 67