summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-08-29 22:51:05 +0700
committerhathach <[email protected]>2021-08-29 22:53:16 +0700
commita05ea0d83b6c59316751e546dfec3ee4e2a286e1 (patch)
tree18246faa975b03d723e017a7262651b792856121
parentb169db3fd6359a127ba92d4bd5cd48a3a5286fd7 (diff)
add CFG_EXAMPLE_MSC_READONLY for curiosity
allow family/board to exclude specific example. exclude net_lwip_webserver from curiosity.
-rw-r--r--examples/rules.mk1
-rw-r--r--hw/bsp/samd21/boards/curiosity_nano/.skip.device.net_lwip_webserver0
-rw-r--r--hw/bsp/samd21/boards/curiosity_nano/board.mk2
-rw-r--r--tools/build_family.py17
4 files changed, 14 insertions, 6 deletions
diff --git a/examples/rules.mk b/examples/rules.mk
index 4af2f2be4..861973284 100644
--- a/examples/rules.mk
+++ b/examples/rules.mk
@@ -169,6 +169,7 @@ flash-stlink: $(BUILD)/$(PROJECT).elf
STM32_Programmer_CLI --connect port=swd --write $< --go
# flash with pyocd
+PYOCD_OPTION ?=
flash-pyocd: $(BUILD)/$(PROJECT).hex
pyocd flash -t $(PYOCD_TARGET) $(PYOCD_OPTION) $<
pyocd reset -t $(PYOCD_TARGET)
diff --git a/hw/bsp/samd21/boards/curiosity_nano/.skip.device.net_lwip_webserver b/hw/bsp/samd21/boards/curiosity_nano/.skip.device.net_lwip_webserver
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/hw/bsp/samd21/boards/curiosity_nano/.skip.device.net_lwip_webserver
diff --git a/hw/bsp/samd21/boards/curiosity_nano/board.mk b/hw/bsp/samd21/boards/curiosity_nano/board.mk
index 767788b86..ec3217f89 100644
--- a/hw/bsp/samd21/boards/curiosity_nano/board.mk
+++ b/hw/bsp/samd21/boards/curiosity_nano/board.mk
@@ -1,4 +1,4 @@
-CFLAGS += -D__SAMD21G17A__
+CFLAGS += -D__SAMD21G17A__ -DCFG_EXAMPLE_MSC_READONLY
# All source paths should be relative to the top level.
LD_FILE = $(BOARD_PATH)/samd21g17a_flash.ld
diff --git a/tools/build_family.py b/tools/build_family.py
index c46781904..4195c259b 100644
--- a/tools/build_family.py
+++ b/tools/build_family.py
@@ -98,21 +98,28 @@ def build_size(example, board):
def skip_example(example, board):
ex_dir = 'examples/' + example
+ # Check if example is skipped by family or board directory
+ skip_file = ".skip." + example.replace('/', '.');
+ if os.path.isfile("hw/bsp/{}/{}".format(family, skip_file)) or os.path.isfile("hw/bsp/{}/boards/{}/{}".format(family, board, skip_file)):
+ return 1
+
+ # Otherwise check if mcu is excluded by example directory
+
# family CMake
- board_mk = 'hw/bsp/{}/family.cmake'.format(family)
+ family_mk = 'hw/bsp/{}/family.cmake'.format(family)
# family.mk
- if not os.path.exists(board_mk):
- board_mk = 'hw/bsp/{}/family.mk'.format(family)
+ if not os.path.exists(family_mk):
+ family_mk = 'hw/bsp/{}/family.mk'.format(family)
- with open(board_mk) as mk:
+ with open(family_mk) as mk:
mk_contents = mk.read()
# Skip all OPT_MCU_NONE these are WIP port
if 'CFG_TUSB_MCU=OPT_MCU_NONE' in mk_contents:
return 1
- # Skip if CFG_TUSB_MCU in board.mk to match skip file
+ # Skip if CFG_TUSB_MCU in family.mk to match skip file
for skip_file in glob.iglob(ex_dir + '/.skip.MCU_*'):
mcu_cflag = 'CFG_TUSB_MCU=OPT_' + os.path.basename(skip_file).split('.')[2]
if mcu_cflag in mk_contents: