esp8266: Rework board variant support to require mpconfigvariant file.

Following how esp32 has been reworked, each variant now has a corresponding
`mpconfigvariant_VARIANT.mk` file associated with it.  The base variant
also has a `mpconfigvariant.mk` file because it has options that none of
the other variants use.

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George 2024-06-05 23:09:09 +10:00
parent 43ebbec0c5
commit daa948fe05
6 changed files with 53 additions and 52 deletions

View File

@ -16,6 +16,12 @@ endif
$(error Invalid BOARD specified: $(BOARD_DIR))
endif
ifneq ($(BOARD_VARIANT),)
ifeq ($(wildcard $(BOARD_DIR)/mpconfigvariant_$(BOARD_VARIANT).mk),)
$(error Invalid BOARD_VARIANT specified: $(BOARD_VARIANT))
endif
endif
# If the build directory is not given, make it reflect the board name (and
# optionally the board variant).
ifneq ($(BOARD_VARIANT),)
@ -26,8 +32,13 @@ endif
include ../../py/mkenv.mk
# Optional
-include $(BOARD_DIR)/mpconfigboard.mk
# Include board specific .mk file, and optional board variant .mk file.
include $(BOARD_DIR)/mpconfigboard.mk
ifeq ($(BOARD_VARIANT),)
-include $(BOARD_DIR)/mpconfigvariant.mk
else
include $(BOARD_DIR)/mpconfigvariant_$(BOARD_VARIANT).mk
endif
# qstr definitions (must come before including py.mk)
QSTR_DEFS = qstrdefsport.h #$(BUILD)/pins_qstr.h

View File

@ -1,50 +1 @@
ifeq ($(BOARD_VARIANT),)
LD_FILES = boards/esp8266_2MiB.ld
MICROPY_PY_ESPNOW ?= 1
MICROPY_PY_BTREE ?= 1
MICROPY_VFS_FAT ?= 1
MICROPY_VFS_LFS2 ?= 1
# Add asyncio and extra micropython-lib packages (in addition to the port manifest).
FROZEN_MANIFEST ?= $(BOARD_DIR)/manifest_2MiB.py
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_2M
endif
ifeq ($(BOARD_VARIANT),FLASH_1M)
LD_FILES = boards/esp8266_1MiB.ld
MICROPY_PY_ESPNOW ?= 1
MICROPY_PY_BTREE ?= 1
MICROPY_VFS_LFS2 ?= 1
# Note: Implicitly uses the port manifest.
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_1M
endif
ifeq ($(BOARD_VARIANT),OTA)
LD_FILES = boards/esp8266_ota.ld
MICROPY_PY_ESPNOW ?= 1
MICROPY_PY_BTREE ?= 1
MICROPY_VFS_LFS2 ?= 1
# Note: Implicitly uses the port manifest.
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_1M
endif
ifeq ($(BOARD_VARIANT),FLASH_512K)
LD_FILES = boards/esp8266_512kiB.ld
# Note: Use the minimal manifest.py.
FROZEN_MANIFEST ?= $(BOARD_DIR)/manifest_512kiB.py
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_512K
endif
# There are no common .mk settings among the variants, so this file is empty.

View File

@ -0,0 +1,12 @@
LD_FILES = boards/esp8266_2MiB.ld
MICROPY_PY_ESPNOW ?= 1
MICROPY_PY_BTREE ?= 1
MICROPY_VFS_FAT ?= 1
MICROPY_VFS_LFS2 ?= 1
# Add asyncio and extra micropython-lib packages (in addition to the port manifest).
FROZEN_MANIFEST ?= $(BOARD_DIR)/manifest_2MiB.py
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_2M

View File

@ -0,0 +1,10 @@
LD_FILES = boards/esp8266_1MiB.ld
MICROPY_PY_ESPNOW ?= 1
MICROPY_PY_BTREE ?= 1
MICROPY_VFS_LFS2 ?= 1
# Note: Implicitly uses the port manifest.
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_1M

View File

@ -0,0 +1,7 @@
LD_FILES = boards/esp8266_512kiB.ld
# Note: Use the minimal manifest.py.
FROZEN_MANIFEST ?= $(BOARD_DIR)/manifest_512kiB.py
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_512K

View File

@ -0,0 +1,10 @@
LD_FILES = boards/esp8266_ota.ld
MICROPY_PY_ESPNOW ?= 1
MICROPY_PY_BTREE ?= 1
MICROPY_VFS_LFS2 ?= 1
# Note: Implicitly uses the port manifest.
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_1M