micropython-samples/fastbuild/buildpyb

55 wiersze
1.4 KiB
Bash
Executable File

#! /bin/bash
# Detect attached pyboard variant build and deploy
# Assumes only one device attached and that this will appear as /dev/pyboard (udev rule)
# requires pyb_check
# Also requires the pyboard.py utility to be on the path (micropython/tools/pyboard.py)
MPDEVICE='/dev/pyboard'
MANIFESTS='/mnt/qnap2/Scripts/manifests'
# Determine board type
BOARD=$(pyb_check $MPDEVICE)
# Currently have only two manifest variants for V1.x and D
if [[ $BOARD == 'PYBV11' || $BOARD == 'PYBV10' || $BOARD == 'PYBLITEV10' ]]
then
MANIFEST=$MANIFESTS/pyb_v1_manifest.py
fi
if [[ $BOARD == 'PYBD_SF2' || $BOARD == 'PYBD_SF3' || $BOARD == 'PYBD_SF6' ]]
then
MANIFEST=$MANIFESTS/pyb_d_manifest.py
fi
# Check for user override of frozen directory
if [ $FROZEN_DIR ]
then
echo Frozen modules located in $FROZEN_DIR
else
FROZEN_DIR='modules'
fi
if [ $BOARD ]
then
echo Building for $BOARD
cd $MPDIR/ports/stm32
if [ $# -eq 1 ] && [ $1 = "--minimal" ]
then
MANIFEST=$MANIFESTS/minimal_manifest.py
make BOARD=$BOARD clean
fi
if [ $# -eq 1 ] && [ $1 = "--clean" ]
then
make BOARD=$BOARD clean
fi
make submodules
if make -j 8 BOARD=$BOARD FROZEN_MANIFEST=$MANIFEST MICROPY_VFS_LFS2=1 && pyb_boot $MPDEVICE
then
sleep 1
make PYTHON=python3 BOARD=$BOARD FROZEN_MANIFEST=$MANIFEST deploy
else
echo Build failure
fi
cd -
else
echo Incorrect board type
fi