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.
pull/8814/head
Philipp Ebensberger 2022-06-22 21:26:54 +02:00 zatwierdzone przez Damien George
rodzic 84339aa8ec
commit bec0524dbf
17 zmienionych plików z 45 dodań i 59 usunięć

Wyświetl plik

@ -203,28 +203,21 @@ SRC_C += \
tusb_port.c \
$(SRC_TINYUSB_C) \
$(SRC_HAL_IMX_C) \
$(SRC_ETH_C) \
$(SRC_ETH_C)
ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor)
SRC_C += hal/flexspi_nor_flash.c
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1)
SRC_C += $(BOARD_DIR)/qspi_nor_flash_config.c
# Add sources for respective board flash type
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
SRC_C += hal/flexspi_$(subst qspi_,,$(MICROPY_HW_FLASH_TYPE)).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
SRC_C += hal/qspi_nor_flash_config.c
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))
$(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif
# Math library source files
@ -414,26 +407,19 @@ CFLAGS += \
-Wfloat-conversion \
-Wno-error=unused-parameter
ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor)
CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_nor_flash.h\"
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1)
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"$(BOARD)_flexspi_flash_config.h\"
# Configure respective board flash type
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
CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_$(subst qspi_,,$(MICROPY_HW_FLASH_TYPE)).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
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"hal/flexspi_flash_config.h\"
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))
$(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif
# Configure floating point support

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1015DAF5A
MICROPY_FLOAT_IMPL = single
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_BOOT_BUFFER_SIZE = (32 * 1024)

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1021DAG5A
MICROPY_FLOAT_IMPL = double
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_SDRAM_AVAIL = 1

Wyświetl plik

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

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1052DVL6B
MICROPY_FLOAT_IMPL = double
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_SDRAM_AVAIL = 1

Wyświetl plik

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

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1062DVJ6A
MICROPY_FLOAT_IMPL = double
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_SDRAM_AVAIL = 1

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1064DVL6A
MICROPY_FLOAT_IMPL = double
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_SDRAM_AVAIL = 1

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1011DAE5A
MICROPY_FLOAT_IMPL = single
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_RESERVED ?= 0x1000 # 4KB

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1052DVL6B
MICROPY_FLOAT_IMPL = double
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_SDRAM_AVAIL = 1

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1062DVJ6A
MICROPY_FLOAT_IMPL = double
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_RESERVED ?= 0x1000 # 4KB

Wyświetl plik

@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1062DVJ6A
MICROPY_FLOAT_IMPL = double
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_RESERVED ?= 0x1000 # 4KB