Skip to content

Commit 492ba5e

Browse files
committed
stm32: Move board variant config to mpconfigboard.mk.
Rather than having the autobuild know about the particular variants, have the mpconfigboard.mk describe them and make autobuild discover them automatically. Adds a "query-variants" target to stm32/Makefile to allow the set of possible variants to be queried. Removes pybv3 from the autobuild as this isn't use by the downloads page. Signed-off-by: Jim Mussared <[email protected]>
1 parent 9233753 commit 492ba5e

File tree

5 files changed

+79
-21
lines changed

5 files changed

+79
-21
lines changed

ports/stm32/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ include $(TOP)/extmod/extmod.mk
3737

3838
GIT_SUBMODULES += lib/libhydrogen lib/lwip lib/mbedtls lib/stm32lib
3939

40+
query-variants:
41+
$(ECHO) "VARIANTS:" $(BOARD_VARIANTS)
42+
4043
LD_DIR=boards
4144
USBDEV_DIR=usbdev
4245
#USBHOST_DIR=usbhost

ports/stm32/boards/PYBLITEV10/mpconfigboard.mk

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,24 @@ AF_FILE = boards/stm32f411_af.csv
44
LD_FILES = boards/stm32f411.ld boards/common_ifs.ld
55
TEXT0_ADDR = 0x08000000
66
TEXT1_ADDR = 0x08020000
7+
8+
# Provide different variants for the downloads page.
9+
BOARD_VARIANTS += "dp thread dp-thread network"
10+
11+
ifeq ($(BOARD_VARIANT),"dp")
12+
MICROPY_FLOAT_IMPL=double
13+
endif
14+
15+
ifeq ($(BOARD_VARIANT),"thread")
16+
CFLAGS += -DMICROPY_PY_THREAD=1
17+
endif
18+
19+
ifeq ($(BOARD_VARIANT),"dp-thread")
20+
MICROPY_FLOAT_IMPL=double
21+
CFLAGS += -DMICROPY_PY_THREAD=1
22+
endif
23+
24+
ifeq ($(BOARD_VARIANT),"network")
25+
MICROPY_PY_NETWORK_WIZNET5K=5200
26+
MICROPY_PY_CC3K=1
27+
endif

ports/stm32/boards/PYBV10/mpconfigboard.mk

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,24 @@ endif
1414

1515
# MicroPython settings
1616
MICROPY_VFS_LFS2 = 1
17+
18+
# Provide different variants for the downloads page.
19+
BOARD_VARIANTS += "dp thread dp-thread network"
20+
21+
ifeq ($(BOARD_VARIANT),"dp")
22+
MICROPY_FLOAT_IMPL=double
23+
endif
24+
25+
ifeq ($(BOARD_VARIANT),"thread")
26+
CFLAGS += -DMICROPY_PY_THREAD=1
27+
endif
28+
29+
ifeq ($(BOARD_VARIANT),"dp-thread")
30+
MICROPY_FLOAT_IMPL=double
31+
CFLAGS += -DMICROPY_PY_THREAD=1
32+
endif
33+
34+
ifeq ($(BOARD_VARIANT),"network")
35+
MICROPY_PY_NETWORK_WIZNET5K=5200
36+
MICROPY_PY_CC3K=1
37+
endif

ports/stm32/boards/PYBV11/mpconfigboard.mk

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,24 @@ endif
1414

1515
# MicroPython settings
1616
MICROPY_VFS_LFS2 = 1
17+
18+
# Provide different variants for the downloads page.
19+
BOARD_VARIANTS += "dp thread dp-thread network"
20+
21+
ifeq ($(BOARD_VARIANT),"dp")
22+
MICROPY_FLOAT_IMPL=double
23+
endif
24+
25+
ifeq ($(BOARD_VARIANT),"thread")
26+
CFLAGS += -DMICROPY_PY_THREAD=1
27+
endif
28+
29+
ifeq ($(BOARD_VARIANT),"dp-thread")
30+
MICROPY_FLOAT_IMPL=double
31+
CFLAGS += -DMICROPY_PY_THREAD=1
32+
endif
33+
34+
ifeq ($(BOARD_VARIANT),"network")
35+
MICROPY_PY_NETWORK_WIZNET5K=5200
36+
MICROPY_PY_CC3K=1
37+
endif

tools/autobuild/build-stm32-extra.sh

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@ function do_build() {
77
board=$2
88
shift
99
shift
10-
echo "building $descr $board"
11-
build_dir=/tmp/stm-build-$board
12-
$MICROPY_AUTOBUILD_MAKE $@ BOARD=$board BUILD=$build_dir || exit 1
13-
mv $build_dir/firmware.dfu $dest_dir/$descr$fw_tag.dfu
14-
mv $build_dir/firmware.hex $dest_dir/$descr$fw_tag.hex
15-
rm -rf $build_dir
10+
for variant in `$MICROPY_AUTOBUILD_MAKE BOARD=$board query-variants | grep VARIANTS: | cut -d' ' -f2-`; do
11+
target=$descr-$variant
12+
echo "building $target $board"
13+
build_dir=/tmp/stm-build-$board
14+
$MICROPY_AUTOBUILD_MAKE $@ BOARD=$board BOARD_VARIANT=$variant BUILD=$build_dir || exit 1
15+
mv $build_dir/firmware.dfu $dest_dir/$target$fw_tag.dfu
16+
mv $build_dir/firmware.hex $dest_dir/$target$fw_tag.hex
17+
rm -rf $build_dir
18+
done
1619
}
1720

1821
# check/get parameters
@@ -30,18 +33,7 @@ if [ ! -r modpyb.c ]; then
3033
exit 1
3134
fi
3235

33-
# build the versions
34-
do_build pybv3 PYBV3
35-
do_build pybv3-network PYBV3 MICROPY_PY_NETWORK_WIZNET5K=5200 MICROPY_PY_CC3K=1
36-
do_build pybv10-dp PYBV10 MICROPY_FLOAT_IMPL=double
37-
do_build pybv10-thread PYBV10 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
38-
do_build pybv10-dp-thread PYBV10 MICROPY_FLOAT_IMPL=double CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
39-
do_build pybv10-network PYBV10 MICROPY_PY_NETWORK_WIZNET5K=5200 MICROPY_PY_CC3K=1
40-
do_build pybv11-dp PYBV11 MICROPY_FLOAT_IMPL=double
41-
do_build pybv11-thread PYBV11 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
42-
do_build pybv11-dp-thread PYBV11 MICROPY_FLOAT_IMPL=double CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
43-
do_build pybv11-network PYBV11 MICROPY_PY_NETWORK_WIZNET5K=5200 MICROPY_PY_CC3K=1
44-
do_build pyblitev10-dp PYBLITEV10 MICROPY_FLOAT_IMPL=double
45-
do_build pyblitev10-thread PYBLITEV10 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
46-
do_build pyblitev10-dp-thread PYBLITEV10 MICROPY_FLOAT_IMPL=double CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
47-
do_build pyblitev10-network PYBLITEV10 MICROPY_PY_NETWORK_WIZNET5K=5200 MICROPY_PY_CC3K=1
36+
# build the variants for each board
37+
do_build pybv10 PYBV10
38+
do_build pybv11 PYBV11
39+
do_build pyblitev10 PYBLITEV10

0 commit comments

Comments
 (0)