File size: 1,730 Bytes
a281c6e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
# Build everything. Usage: scripts/build.sh [wasm|firmware|assets|all]   (default all)
set -e
cd "$(dirname "$0")/.."; ROOT=$PWD; TC=$ROOT/.toolchain
export ARDUINO_DIRECTORIES_DATA=$TC/ard ARDUINO_DIRECTORIES_USER=$TC/ardu PATH=$TC:$PATH
WHAT=${1:-all}
ESPTOOL=$(ls $TC/ard/packages/esp32/tools/esptool_py/*/esptool.py | head -1)
BOOTAPP0=$(ls $TC/ard/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin | head -1)
if [ $WHAT = wasm ] || [ $WHAT = all ]; then ./wasm/build.sh; fi
if [ $WHAT = firmware ] || [ $WHAT = all ]; then
  # each sketch -> firmware/dist/<name>.flash.bin (bootloader+partitions+boot_app0+app, 4MB)
  for S in vgademo echo; do
    arduino-cli compile -b esp32:esp32:esp32:FlashMode=dio,FlashFreq=40 --output-dir /tmp/build_$S firmware/$S
    python3 $ESPTOOL --chip esp32 merge_bin --fill-flash-size 4MB -o firmware/dist/$S.flash.bin --flash_mode dio --flash_freq 40m --flash_size 4MB \
      0x1000 /tmp/build_$S/$S.ino.bootloader.bin 0x8000 /tmp/build_$S/$S.ino.partitions.bin 0xe000 $BOOTAPP0 0x10000 /tmp/build_$S/$S.ino.bin
  done
  # DOS firmware has a custom partition table + floppy image at 0x200000 (see firmware/README.md)
  arduino-cli compile -b esp32:esp32:esp32:FlashMode=dio,FlashFreq=40 --output-dir /tmp/build_dos firmware/dosvga32
  python3 $ESPTOOL --chip esp32 merge_bin --fill-flash-size 4MB -o firmware/dist/dosvga32.flash.bin --flash_mode dio --flash_freq 40m --flash_size 4MB \
    0x1000 /tmp/build_dos/dosvga32.ino.bootloader.bin 0x8000 /tmp/build_dos/dosvga32.ino.partitions.bin 0xe000 $BOOTAPP0 0x10000 /tmp/build_dos/dosvga32.ino.bin 0x200000 firmware/dist/dosdisk.img
fi
if [ $WHAT = assets ] || [ $WHAT = all ]; then python3 tools/build_assets.py; fi