summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriabdalkader <i.abdalkader@gmail.com>2025-03-13 14:55:19 +0100
committerDamien George <damien@micropython.org>2025-04-09 00:22:32 +1000
commit19a4689c6b0b652f8d50be6b658adc649649d5d1 (patch)
treef291657ee43e21b42223b33b75276abc29f1735a
parentda46b4d7089e6b0be553798568bbdf9e7ea9368b (diff)
alif/mcu: Pre-process Alif ToC config file.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
-rw-r--r--ports/alif/Makefile24
-rw-r--r--ports/alif/mcu/alif_cfg.json.in47
2 files changed, 63 insertions, 8 deletions
diff --git a/ports/alif/Makefile b/ports/alif/Makefile
index 7d6731dac..687066743 100644
--- a/ports/alif/Makefile
+++ b/ports/alif/Makefile
@@ -20,10 +20,14 @@ JLINK_CMD_SUFFIX = \
Reset\n\
Exit
+ALIF_TOC_CONFIG = alif_cfg.json
+ALIF_TOC_APPS = $(BUILD)/$(ALIF_TOC_CONFIG)
+ALIF_TOC_CFLAGS += -DTOC_CFG_FILE=$(ALIF_TOOLKIT_CFG_FILE)
+
ifeq ($(MCU_CORE),M55_HP)
-ALIF_TOC_CONFIG = mcu/M55_HP_cfg.json
-ALIF_TOC_APPS = $(BUILD)/M55_HP/firmware.bin
+ALIF_TOC_CFLAGS += -DTOC_CORE_M55_HP_APP=1
+ALIF_TOC_APPS += $(BUILD)/M55_HP/firmware.bin
JLINK_CMD = '\
$(JLINK_CMD_PREFIX)\
LoadFile "$(BUILD)/M55_HP/firmware.bin",0x80020000\n\
@@ -31,8 +35,8 @@ $(JLINK_CMD_SUFFIX)'
else ifeq ($(MCU_CORE),M55_HE)
-ALIF_TOC_CONFIG = mcu/M55_HE_cfg.json
-ALIF_TOC_APPS = $(BUILD)/M55_HE/firmware.bin
+ALIF_TOC_CFLAGS += -DTOC_CORE_M55_HE_APP=1
+ALIF_TOC_APPS += $(BUILD)/M55_HE/firmware.bin
JLINK_CMD = '\
$(JLINK_CMD_PREFIX)\
LoadFile "$(BUILD)/M55_HE/firmware.bin",0x80320000\n\
@@ -40,8 +44,9 @@ $(JLINK_CMD_SUFFIX)'
else ifeq ($(MCU_CORE),M55_DUAL)
-ALIF_TOC_CONFIG = mcu/M55_DUAL_cfg.json
-ALIF_TOC_APPS = $(BUILD)/M55_HP/firmware.bin $(BUILD)/M55_HE/firmware.bin
+ALIF_TOC_CFLAGS += -DTOC_CORE_M55_HP_APP=1
+ALIF_TOC_CFLAGS += -DTOC_CORE_M55_HE_APP=1
+ALIF_TOC_APPS += $(BUILD)/M55_HP/firmware.bin $(BUILD)/M55_HE/firmware.bin
JLINK_CMD = '\
$(JLINK_CMD_PREFIX)\
LoadFile "$(BUILD)/M55_HP/firmware.bin",0x80020000\n\
@@ -81,10 +86,13 @@ $(BUILD)/M55_HP/firmware.bin:
$(BUILD)/M55_HE/firmware.bin:
make -f alif.mk MCU_CORE=M55_HE MICROPY_PY_OPENAMP_MODE=1
+$(BUILD)/$(ALIF_TOC_CONFIG): mcu/$(ALIF_TOC_CONFIG).in | $(BUILD)
+ $(ECHO) "Preprocess toc config $@"
+ $(Q)$(CPP) -P -E $(ALIF_TOC_CFLAGS) - < mcu/$(ALIF_TOC_CONFIG).in > $@
+
$(BUILD)/firmware.toc.bin: $(ALIF_TOC_APPS)
$(Q)python $(ALIF_TOOLS)/app-gen-toc.py \
- --filename $(abspath $(ALIF_TOC_CONFIG)) \
- --config-dir $(BOARD_DIR) \
+ --filename $(abspath $(BUILD)/$(ALIF_TOC_CONFIG)) \
--output-dir $(BUILD) \
--firmware-dir $(BUILD) \
--output $@
diff --git a/ports/alif/mcu/alif_cfg.json.in b/ports/alif/mcu/alif_cfg.json.in
new file mode 100644
index 000000000..7760bd91d
--- /dev/null
+++ b/ports/alif/mcu/alif_cfg.json.in
@@ -0,0 +1,47 @@
+{
+ "DEVICE": {
+ "disabled" : false,
+ "binary": TOC_CFG_FILE,
+ "version" : "0.5.00",
+ "signed": false
+ },
+ "HP_BOOT": {
+ #if TOC_CORE_M55_HP_BOOT
+ "disabled" : false,
+ #else
+ "disabled" : true,
+ #endif
+ "binary": "bootloader.bin",
+ "mramAddress": "0x80000000",
+ "version": "1.0.0",
+ "cpu_id": "M55_HP",
+ "flags": ["boot"],
+ "signed": false
+ },
+ "HP_APP": {
+ #if TOC_CORE_M55_HP_APP
+ "disabled" : false,
+ #else
+ "disabled" : true,
+ #endif
+ "binary": "M55_HP/firmware.bin",
+ "mramAddress": "0x80020000",
+ "version": "1.0.0",
+ "cpu_id": "M55_HP",
+ "flags": ["boot"],
+ "signed": false
+ },
+ "HE_APP": {
+ #if TOC_CORE_M55_HE_APP
+ "disabled" : false,
+ #else
+ "disabled" : true,
+ #endif
+ "binary": "M55_HE/firmware.bin",
+ "mramAddress": "0x80320000",
+ "version": "1.0.0",
+ "cpu_id": "M55_HE",
+ "flags": ["deferred"],
+ "signed": false
+ }
+}