mimxrt/Makefile: Rework board flash type handling.

Reworks handling and configuration of different board flash types in the
Makefile, linker scripts and board makefile fragments.
This commit is contained in:
Philipp Ebensberger 2022-06-22 21:26:54 +02:00 committed by Damien George
parent 84339aa8ec
commit bec0524dbf
17 changed files with 45 additions and 59 deletions

View File

@ -203,28 +203,21 @@ SRC_C += \
tusb_port.c \ tusb_port.c \
$(SRC_TINYUSB_C) \ $(SRC_TINYUSB_C) \
$(SRC_HAL_IMX_C) \ $(SRC_HAL_IMX_C) \
$(SRC_ETH_C) \ $(SRC_ETH_C)
ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor) # Add sources for respective board flash type
SRC_C += hal/flexspi_nor_flash.c ifeq ($(MICROPY_HW_FLASH_TYPE),$(filter $(MICROPY_HW_FLASH_TYPE),qspi_nor_flash qspi_hyper_flash))
# Add hal/flexspi_nor_flash.c or hal/flashspi_hyper_flash.c respectively
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1) SRC_C += hal/flexspi_$(subst qspi_,,$(MICROPY_HW_FLASH_TYPE)).c
SRC_C += $(BOARD_DIR)/qspi_nor_flash_config.c #
# Add custom (board specific) or default configuration
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1)
SRC_C += $(BOARD_DIR)/$(MICROPY_HW_FLASH_TYPE)_config.c
else
SRC_C += hal/$(MICROPY_HW_FLASH_TYPE)_config.c
endif
else else
SRC_C += hal/qspi_nor_flash_config.c $(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif # qspi_nor
#
else ifeq ($(MICROPY_HW_FLASH_TYPE), hyperflash)
SRC_C += hal/flexspi_hyper_flash.c
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1)
SRC_C += $(BOARD_DIR)/qspi_hyper_flash_config.c
else
SRC_C += hal/qspi_hyper_flash_config.c
endif # hyperflash
#
else
$(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif endif
# Math library source files # Math library source files
@ -414,26 +407,19 @@ CFLAGS += \
-Wfloat-conversion \ -Wfloat-conversion \
-Wno-error=unused-parameter -Wno-error=unused-parameter
ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor) # Configure respective board flash type
CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_nor_flash.h\" ifeq ($(MICROPY_HW_FLASH_TYPE),$(filter $(MICROPY_HW_FLASH_TYPE),qspi_nor_flash qspi_hyper_flash))
# Add hal/flexspi_nor_flash.h or hal/flexspi_hyper_flash.h respectively
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1) CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_$(subst qspi_,,$(MICROPY_HW_FLASH_TYPE)).h\"
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"$(BOARD)_flexspi_flash_config.h\" #
# Add custom (board specific) or default configuration
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1)
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"$(BOARD)_flexspi_flash_config.h\"
else
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"hal/flexspi_flash_config.h\"
endif
else else
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"hal/flexspi_flash_config.h\" $(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif # qspi_nor
#
else ifeq ($(MICROPY_HW_FLASH_TYPE), hyperflash)
CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_hyper_flash.h\"
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1)
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"$(BOARD)_flexspi_flash_config.h\"
else
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"hal/flexspi_flash_config.h\"
endif # hyperflash
#
else
$(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif endif
# Configure floating point support # Configure floating point support

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1011DAE5A
MICROPY_FLOAT_IMPL = single MICROPY_FLOAT_IMPL = single
MICROPY_PY_MACHINE_SDCARD = 0 MICROPY_PY_MACHINE_SDCARD = 0
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x1000000 # 16MB MICROPY_HW_FLASH_SIZE ?= 0x1000000 # 16MB
JLINK_PATH ?= /media/RT1010-EVK/ JLINK_PATH ?= /media/RT1010-EVK/

View File

@ -3,7 +3,7 @@
reserved_size = MICROPY_HW_FLASH_RESERVED; reserved_size = MICROPY_HW_FLASH_RESERVED;
#endif #endif
#if MICROPY_HW_FLASH_TYPE==qspi_nor #if MICROPY_HW_FLASH_TYPE == qspi_nor_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#else #else
#error Unknown MICROPY_HW_FLASH_TYPE #error Unknown MICROPY_HW_FLASH_TYPE

View File

@ -3,7 +3,7 @@
reserved_size = MICROPY_HW_FLASH_RESERVED; reserved_size = MICROPY_HW_FLASH_RESERVED;
#endif #endif
#if MICROPY_HW_FLASH_TYPE == qspi_nor #if MICROPY_HW_FLASH_TYPE == qspi_nor_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#else #else
#error Unknown MICROPY_HW_FLASH_TYPE #error Unknown MICROPY_HW_FLASH_TYPE

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1015DAF5A
MICROPY_FLOAT_IMPL = single MICROPY_FLOAT_IMPL = single
MICROPY_PY_MACHINE_SDCARD = 0 MICROPY_PY_MACHINE_SDCARD = 0
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x1000000 # 16MB MICROPY_HW_FLASH_SIZE ?= 0x1000000 # 16MB
MICROPY_BOOT_BUFFER_SIZE = (32 * 1024) MICROPY_BOOT_BUFFER_SIZE = (32 * 1024)

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1021DAG5A
MICROPY_FLOAT_IMPL = double MICROPY_FLOAT_IMPL = double
MICROPY_PY_MACHINE_SDCARD = 1 MICROPY_PY_MACHINE_SDCARD = 1
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB
MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_AVAIL = 1

View File

@ -3,7 +3,7 @@
reserved_size = MICROPY_HW_FLASH_RESERVED; reserved_size = MICROPY_HW_FLASH_RESERVED;
#endif #endif
#if MICROPY_HW_FLASH_TYPE == qspi_nor #if MICROPY_HW_FLASH_TYPE == qspi_nor_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#else #else
#error Unknown MICROPY_HW_FLASH_TYPE #error Unknown MICROPY_HW_FLASH_TYPE

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1052DVL6B
MICROPY_FLOAT_IMPL = double MICROPY_FLOAT_IMPL = double
MICROPY_PY_MACHINE_SDCARD = 1 MICROPY_PY_MACHINE_SDCARD = 1
MICROPY_HW_FLASH_TYPE ?= hyperflash MICROPY_HW_FLASH_TYPE ?= qspi_hyper_flash
MICROPY_HW_FLASH_SIZE ?= 0x4000000 # 64MB MICROPY_HW_FLASH_SIZE ?= 0x4000000 # 64MB
MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_AVAIL = 1

View File

@ -3,9 +3,9 @@
reserved_size = MICROPY_HW_FLASH_RESERVED; reserved_size = MICROPY_HW_FLASH_RESERVED;
#endif #endif
#if MICROPY_HW_FLASH_TYPE==qspi_nor #if MICROPY_HW_FLASH_TYPE == qspi_nor_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#elif MICROPY_HW_FLASH_TYPE==hyperflash #elif MICROPY_HW_FLASH_TYPE == qspi_hyper_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#else #else
#error Unknown MICROPY_HW_FLASH_TYPE #error Unknown MICROPY_HW_FLASH_TYPE

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1062DVJ6A
MICROPY_FLOAT_IMPL = double MICROPY_FLOAT_IMPL = double
MICROPY_PY_MACHINE_SDCARD = 1 MICROPY_PY_MACHINE_SDCARD = 1
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB
MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_AVAIL = 1

View File

@ -3,9 +3,9 @@
reserved_size = MICROPY_HW_FLASH_RESERVED; reserved_size = MICROPY_HW_FLASH_RESERVED;
#endif #endif
#if MICROPY_HW_FLASH_TYPE==qspi_nor #if MICROPY_HW_FLASH_TYPE == qspi_nor_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#elif MICROPY_HW_FLASH_TYPE==hyperflash #elif MICROPY_HW_FLASH_TYPE == qspi_hyper_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#else #else
#error Unknown MICROPY_HW_FLASH_TYPE #error Unknown MICROPY_HW_FLASH_TYPE

View File

@ -3,11 +3,11 @@
reserved_size = MICROPY_HW_FLASH_RESERVED; reserved_size = MICROPY_HW_FLASH_RESERVED;
#endif #endif
#if MICROPY_HW_FLASH_TYPE==qspi_nor #if MICROPY_HW_FLASH_TYPE == qspi_nor_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#elif MICROPY_HW_FLASH_TYPE==hyperflash #elif MICROPY_HW_FLASH_TYPE == qspi_hyper_flash
flash_start = 0x60000000; flash_start = 0x60000000;
#elif MICROPY_HW_FLASH_TYPE==internal #elif MICROPY_HW_FLASH_TYPE == internal
flash_start = 0x70000000; flash_start = 0x70000000;
#else #else
#error Unknown MICROPY_HW_FLASH_TYPE #error Unknown MICROPY_HW_FLASH_TYPE

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1064DVL6A
MICROPY_FLOAT_IMPL = double MICROPY_FLOAT_IMPL = double
MICROPY_PY_MACHINE_SDCARD = 1 MICROPY_PY_MACHINE_SDCARD = 1
MICROPY_HW_FLASH_TYPE ?= hyperflash MICROPY_HW_FLASH_TYPE ?= qspi_hyper_flash
MICROPY_HW_FLASH_SIZE ?= 0x4000000 # 64MB MICROPY_HW_FLASH_SIZE ?= 0x4000000 # 64MB
MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_AVAIL = 1

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1011DAE5A
MICROPY_FLOAT_IMPL = single MICROPY_FLOAT_IMPL = single
MICROPY_PY_MACHINE_SDCARD ?= 0 MICROPY_PY_MACHINE_SDCARD ?= 0
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x200000 # 2MB MICROPY_HW_FLASH_SIZE ?= 0x200000 # 2MB
MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1052DVL6B
MICROPY_FLOAT_IMPL = double MICROPY_FLOAT_IMPL = double
MICROPY_PY_MACHINE_SDCARD = 1 MICROPY_PY_MACHINE_SDCARD = 1
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB
MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_AVAIL = 1

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1062DVJ6A
MICROPY_FLOAT_IMPL = double MICROPY_FLOAT_IMPL = double
MICROPY_PY_MACHINE_SDCARD = 1 MICROPY_PY_MACHINE_SDCARD = 1
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x200000 # 2MB MICROPY_HW_FLASH_SIZE ?= 0x200000 # 2MB
MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB

View File

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1062DVJ6A
MICROPY_FLOAT_IMPL = double MICROPY_FLOAT_IMPL = double
MICROPY_PY_MACHINE_SDCARD = 1 MICROPY_PY_MACHINE_SDCARD = 1
MICROPY_HW_FLASH_TYPE ?= qspi_nor MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash
MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB
MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB