From ea60157fe64a98298bf5b83ba25ae9ef81a63493 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Sun, 19 Jun 2022 23:00:38 +0200 Subject: [PATCH 1/8] mimxrt/Makefile: Refactors Makefile. Reworks grouping of Makefile variables and reorders variable values in alphabetic order. --- ports/mimxrt/Makefile | 363 ++++++++++++++++++++++++++---------------- 1 file changed, 226 insertions(+), 137 deletions(-) diff --git a/ports/mimxrt/Makefile b/ports/mimxrt/Makefile index 759fb5c459b97..82699440058f7 100644 --- a/ports/mimxrt/Makefile +++ b/ports/mimxrt/Makefile @@ -1,72 +1,61 @@ +# ============================================================================= +# Parameter Configuration +# ============================================================================= + BOARD ?= TEENSY40 BOARD_DIR ?= boards/$(BOARD) BUILD ?= build-$(BOARD) - PORT ?= /dev/ttyACM0 - CROSS_COMPILE ?= arm-none-eabi- +GIT_SUBMODULES = lib/tinyusb lib/nxp_driver lib/lwip lib/mbedtls -ifeq ($(wildcard $(BOARD_DIR)/.),) -$(error Invalid BOARD specified: $(BOARD_DIR)) -endif - -include ../../py/mkenv.mk -include $(BOARD_DIR)/mpconfigboard.mk +# MicroPython feature configurations +FROZEN_MANIFEST ?= boards/manifest.py +MICROPY_VFS_LFS2 ?= 1 +MICROPY_VFS_FAT ?= 1 -LD_MEMORY_CONFIG_DEFINES += \ - MICROPY_HW_FLASH_TYPE=$(MICROPY_HW_FLASH_TYPE) \ - MICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) +# qstr definitions (must come before including py.mk) +QSTR_DEFS = qstrdefsport.h +QSTR_GLOBAL_DEPENDENCIES = $(BOARD_DIR)/mpconfigboard.h -ifdef MICROPY_HW_FLASH_RESERVED -LD_MEMORY_CONFIG_DEFINES += MICROPY_HW_FLASH_RESERVED=$(MICROPY_HW_FLASH_RESERVED) -endif +# Generation scripts +MAKE_PINS = boards/make-pins.py +MAKE_FLEXRAM_LD = boards/make-flexram-config.py -ifdef MICROPY_HW_SDRAM_AVAIL -CFLAGS += \ - -DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL) \ - -DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE) +# Include py make environment +include ../../py/mkenv.mk -LD_MEMORY_CONFIG_DEFINES += \ - MICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL) \ - MICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE) +# Include micropython configuration board makefile +ifeq ($(wildcard $(BOARD_DIR)/.),) +$(error Invalid BOARD specified: $(BOARD_DIR)) endif - -# Qstr definitions (must come before including py.mk) -QSTR_DEFS = qstrdefsport.h -QSTR_GLOBAL_DEPENDENCIES = $(BOARD_DIR)/mpconfigboard.h - -# MicroPython feature configurations -FROZEN_MANIFEST ?= boards/manifest.py -MICROPY_VFS_LFS2 ?= 1 -MICROPY_VFS_FAT ?= 1 +include $(BOARD_DIR)/mpconfigboard.mk # Include py core make definitions include $(TOP)/py/py.mk include $(TOP)/extmod/extmod.mk -GIT_SUBMODULES = lib/tinyusb lib/nxp_driver lib/lwip lib/mbedtls - +# Set SDK directory based on MCU_SERIES MCU_DIR = lib/nxp_driver/sdk/devices/$(MCU_SERIES) + +# Select linker scripts based on MCU_SERIES LD_FILES = boards/$(MCU_SERIES).ld boards/common.ld -MAKE_PINS = boards/make-pins.py -MAKE_FLEXRAM_LD = boards/make-flexram-config.py -BOARD_PINS = $(BOARD_DIR)/pins.csv +# Parameter configurations for generation AF_FILE = boards/$(MCU_SERIES)_af.csv +BOARD_PINS = $(BOARD_DIR)/pins.csv PREFIX_FILE = boards/mimxrt_prefix.c -GEN_PINS_SRC = $(BUILD)/pins_gen.c -GEN_PINS_HDR = $(HEADER_BUILD)/pins.h -GEN_PINS_QSTR = $(BUILD)/pins_qstr.h +GEN_FLEXRAM_CONFIG_SRC = $(BUILD)/flexram_config.s GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h GEN_PINS_AF_PY = $(BUILD)/pins_af.py -GEN_FLEXRAM_CONFIG_SRC = $(BUILD)/flexram_config.s +GEN_PINS_HDR = $(HEADER_BUILD)/pins.h +GEN_PINS_QSTR = $(BUILD)/pins_qstr.h +GEN_PINS_SRC = $(BUILD)/pins_gen.c -# mcu driver cause following warnings -#CFLAGS += -Wno-error=float-equal -Wno-error=nested-externs -CFLAGS += -Wno-error=unused-parameter +# ============================================================================= +# Includes +# ============================================================================= -INC += -I. -INC += -Ihal INC += -I$(BOARD_DIR) INC += -I$(BUILD) INC += -I$(TOP) @@ -77,90 +66,19 @@ INC += -I$(TOP)/lib/oofatfs INC += -I$(TOP)/lib/tinyusb/hw INC += -I$(TOP)/lib/tinyusb/hw/bsp/teensy_40 INC += -I$(TOP)/lib/tinyusb/src - -CFLAGS_MCU = -mtune=cortex-m7 -mcpu=cortex-m7 -CFLAGS += $(INC) -Wall -Werror -Wdouble-promotion -Wfloat-conversion -std=c99 -nostdlib -mthumb $(CFLAGS_MCU) -CFLAGS += -DCPU_$(MCU_SERIES) -DCPU_$(MCU_VARIANT) -DBOARD_$(BOARD) -CFLAGS += -DXIP_EXTERNAL_FLASH=1 \ - -DXIP_BOOT_HEADER_ENABLE=1 \ - -DFSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1 \ - -DCFG_TUSB_MCU=OPT_MCU_MIMXRT10XX \ - -D__STARTUP_CLEAR_BSS \ - -D__STARTUP_INITIALIZE_RAMFUNCTION \ - -D__START=main \ - -DCPU_HEADER_H='<$(MCU_SERIES).h>' \ - -DCLOCK_CONFIG_H='' \ - -DBOARD_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) \ - -DMICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) \ - -CFLAGS += -DI2C_RETRY_TIMES=1000000 -DSPI_RETRY_TIMES=1000000 -DUART_RETRY_TIMES=1000000 - -ifeq ($(MICROPY_PY_MACHINE_SDCARD),1) -CFLAGS += -DMICROPY_PY_MACHINE_SDCARD=1 -endif - -CFLAGS += $(CFLAGS_MOD) $(CFLAGS_EXTRA) - -# Configure floating point support -ifeq ($(MICROPY_FLOAT_IMPL),double) -CFLAGS += -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_DOUBLE -CFLAGS_MCU += -mfloat-abi=hard -mfpu=fpv5-d16 -else -ifeq ($(MICROPY_FLOAT_IMPL),none) -CFLAGS += -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_NONE -else -CFLAGS += -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_FLOAT -CFLAGS += -fsingle-precision-constant -CFLAGS_MCU += -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -endif -endif - -SUPPORTS_HARDWARE_FP_SINGLE = 0 -SUPPORTS_HARDWARE_FP_DOUBLE = 0 - -LDFLAGS = -Map=$@.map --cref --print-memory-usage -LDDEFINES = $(addprefix -D, $(LD_MEMORY_CONFIG_DEFINES)) -LIBS = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) - -# Tune for Debugging or Optimization -ifeq ($(DEBUG),1) -CFLAGS += -Og -ggdb -LDFLAGS += --gc-sections -CFLAGS += -fdata-sections -ffunction-sections -else -CFLAGS += -Os -DNDEBUG -LDFLAGS += --gc-sections -CFLAGS += -fdata-sections -ffunction-sections -endif +INC += -I. +INC += -Ihal # All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP ifeq ($(MICROPY_PY_LWIP), 1) - INC += -Ilwip_inc INC += -Ihal/phy - -SRC_MOD := $(filter-out %/mbedtls/library/error.c, $(SRC_MOD)) - -SRC_ETH_C += \ - hal/phy/mdio/enet/fsl_enet_mdio.c \ - hal/phy/device/phydp83825/fsl_phydp83825.c \ - hal/phy/device/phydp83848/fsl_phydp83848.c \ - hal/phy/device/phyksz8081/fsl_phyksz8081.c \ - hal/phy/device/phylan8720/fsl_phylan8720.c \ - lib/mbedtls_errors/mp_mbedtls_errors.c \ - $(MCU_DIR)/drivers/fsl_enet.c \ - -SRC_QSTR += \ - extmod/modnetwork.c \ - extmod/moduwebsocket.c \ - extmod/modusocket.c \ - network_lan.c \ - -CFLAGS += -DFSL_FEATURE_PHYKSZ8081_USE_RMII50M_MODE=1 \ - -DMBEDTLS_CONFIG_FILE='"mbedtls/mbedtls_config.h"' - endif +# ============================================================================= +# Sources +# ============================================================================= + # TinyUSB Stack source SRC_TINYUSB_C += \ lib/tinyusb/src/class/cdc/cdc_device.c \ @@ -176,6 +94,20 @@ SRC_TINYUSB_C += \ lib/tinyusb/src/portable/nxp/transdimension/dcd_transdimension.c \ lib/tinyusb/src/tusb.c +# All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP +ifeq ($(MICROPY_PY_LWIP), 1) +SRC_MOD := $(filter-out %/mbedtls/library/error.c, $(SRC_MOD)) +SRC_ETH_C += \ + $(MCU_DIR)/drivers/fsl_enet.c \ + hal/phy/device/phydp83825/fsl_phydp83825.c \ + hal/phy/device/phydp83848/fsl_phydp83848.c \ + hal/phy/device/phyksz8081/fsl_phyksz8081.c \ + hal/phy/device/phylan8720/fsl_phylan8720.c \ + hal/phy/mdio/enet/fsl_enet_mdio.c \ + lib/mbedtls_errors/mp_mbedtls_errors.c +endif + +# NXP SDK sources SRC_HAL_IMX_C += \ $(MCU_DIR)/drivers/fsl_adc.c \ $(MCU_DIR)/drivers/fsl_cache.c \ @@ -213,6 +145,7 @@ SRC_HAL_IMX_C += \ $(MCU_DIR)/drivers/fsl_qtmr.c endif +# C source files SRC_C += \ board_init.c \ boards/$(MCU_SERIES)_clock_config.c \ @@ -254,9 +187,9 @@ SRC_C += \ sdcard.c \ shared/libc/printf.c \ shared/libc/string0.c \ + shared/netutils/dhcpserver.c \ shared/netutils/netutils.c \ shared/netutils/trace.c \ - shared/netutils/dhcpserver.c \ shared/readline/readline.c \ shared/runtime/gchelper_native.c \ shared/runtime/interrupt_char.c \ @@ -273,33 +206,28 @@ SRC_C += \ $(SRC_ETH_C) \ ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor) -CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_nor_flash.h\" SRC_C += hal/flexspi_nor_flash.c ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1) -CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"$(BOARD)_flexspi_flash_config.h\" SRC_C += $(BOARD_DIR)/qspi_nor_flash_config.c else -CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"hal/flexspi_flash_config.h\" SRC_C += hal/qspi_nor_flash_config.c -endif +endif # qspi_nor # else ifeq ($(MICROPY_HW_FLASH_TYPE), hyperflash) -CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_hyper_flash.h\" SRC_C += hal/flexspi_hyper_flash.c ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1) -CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"$(BOARD)_flexspi_flash_config.h\" SRC_C += $(BOARD_DIR)/qspi_hyper_flash_config.c else -CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"hal/flexspi_flash_config.h\" SRC_C += hal/qspi_hyper_flash_config.c -endif +endif # hyperflash # else $(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE)) endif +# Math library source files ifeq ($(MICROPY_FLOAT_IMPL),double) LIBM_SRC_C += $(addprefix lib/libm_dbl/,\ __cos.c \ @@ -386,19 +314,31 @@ LIBM_SRC_C += lib/libm/ef_sqrt.c endif endif -LIBM_O = $(addprefix $(BUILD)/, $(LIBM_SRC_C:.c=.o)) - -# Too many warnings in libm_dbl, disable for now. -ifeq ($(MICROPY_FLOAT_IMPL),double) -$(LIBM_O): CFLAGS := $(filter-out -Wdouble-promotion -Wfloat-conversion, $(CFLAGS)) -endif +# Reset variables +SUPPORTS_HARDWARE_FP_SINGLE = 0 +SUPPORTS_HARDWARE_FP_DOUBLE = 0 +# Assembly source files SRC_SS = \ $(MCU_DIR)/gcc/startup_$(MCU_SERIES).S \ hal/resethandler_MIMXRT10xx.S SRC_S += shared/runtime/gchelper_m3.s \ +# ============================================================================= +# QSTR Sources +# ============================================================================= + +# All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP +ifeq ($(MICROPY_PY_LWIP), 1) +SRC_QSTR += \ + extmod/modlwip.c \ + extmod/modnetwork.c \ + extmod/modusocket.c \ + extmod/moduwebsocket.c \ + network_lan.c +endif + # List of sources for qstr extraction SRC_QSTR += \ extmod/modonewire.c \ @@ -421,7 +361,150 @@ SRC_QSTR += \ pin.c \ shared/runtime/mpirq.c \ shared/runtime/sys_stdio_mphal.c \ - $(GEN_PINS_SRC) \ + $(GEN_PINS_SRC) + +# ============================================================================= +# Compiler Flags +# ============================================================================= + +ifeq ($(DEBUG),1) +CFLAGS += -Og -ggdb +else +CFLAGS += -Os -DNDEBUG +endif + +# Configure default compiler flags +CFLAGS += \ + $(INC) \ + -D__START=main \ + -D__STARTUP_CLEAR_BSS \ + -D__STARTUP_INITIALIZE_RAMFUNCTION \ + -DBOARD_$(BOARD) \ + -DBOARD_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) \ + -DCFG_TUSB_MCU=OPT_MCU_MIMXRT10XX \ + -DCLOCK_CONFIG_H='' \ + -DCPU_$(MCU_SERIES) \ + -DCPU_$(MCU_VARIANT) \ + -DCPU_HEADER_H='<$(MCU_SERIES).h>' \ + -DFSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1 \ + -DI2C_RETRY_TIMES=1000000 \ + -DMICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) \ + -DSPI_RETRY_TIMES=1000000 \ + -DUART_RETRY_TIMES=1000000 \ + -DXIP_BOOT_HEADER_ENABLE=1 \ + -DXIP_EXTERNAL_FLASH=1 \ + -fdata-sections \ + -ffunction-sections \ + -mcpu=cortex-m7 \ + -mthumb \ + -mtune=cortex-m7 \ + -nostdlib \ + -std=c99 \ + -Wall \ + -Wdouble-promotion \ + -Werror \ + -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\" +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)) +endif + +# Configure floating point support +ifeq ($(MICROPY_FLOAT_IMPL),double) +CFLAGS += \ + -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_DOUBLE \ + -mfloat-abi=hard \ + -mfpu=fpv5-d16 +else +ifeq ($(MICROPY_FLOAT_IMPL),none) +CFLAGS += -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_NONE +else +CFLAGS += \ + -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_FLOAT \ + -fsingle-precision-constant \ + -mfloat-abi=softfp \ + -mfpu=fpv5-sp-d16 +endif +endif + +# Configure feature specific compiler flags +ifeq ($(MICROPY_PY_MACHINE_SDCARD),1) +CFLAGS += -DMICROPY_PY_MACHINE_SDCARD=1 +endif + +# All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP +ifeq ($(MICROPY_PY_LWIP), 1) +CFLAGS += \ + -DFSL_FEATURE_PHYKSZ8081_USE_RMII50M_MODE=1 \ + -DMBEDTLS_CONFIG_FILE='"mbedtls/mbedtls_config.h"' +endif + +ifdef MICROPY_HW_SDRAM_AVAIL +CFLAGS += \ + -DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL) \ + -DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE) +endif + +CFLAGS += $(CFLAGS_MOD) $(CFLAGS_EXTRA) + +# ============================================================================= +# Linker Flags +# ============================================================================= + +LDFLAGS = \ + --cref \ + --gc-sections \ + --print-memory-usage \ + -Map=$@.map + +# LDDEFINES are used for link time adaptation of linker scripts, utilizing +# the C preprocessor. Therefore keep LDDEFINES separated from LDFLAGS! + +LDDEFINES = \ + -DMICROPY_HW_FLASH_TYPE=$(MICROPY_HW_FLASH_TYPE) \ + -DMICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) + +ifdef MICROPY_HW_FLASH_RESERVED +LDDEFINES += -DMICROPY_HW_FLASH_RESERVED=$(MICROPY_HW_FLASH_RESERVED) +endif + +ifdef MICROPY_HW_SDRAM_AVAIL +LDDEFINES += \ + -DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL) \ + -DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE) +endif + +# ============================================================================= +# Library and Object files +# ============================================================================= + +LIBS = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) +LIBM_O = $(addprefix $(BUILD)/, $(LIBM_SRC_C:.c=.o)) + +# Too many warnings in libm_dbl, disable for now. +ifeq ($(MICROPY_FLOAT_IMPL),double) +$(LIBM_O): CFLAGS := $(filter-out -Wdouble-promotion -Wfloat-conversion, $(CFLAGS)) +endif + OBJ += $(PY_O) OBJ += $(LIBM_O) @@ -434,8 +517,14 @@ OBJ += $(BUILD)/pins_gen.o # Workaround for bug in older gcc, warning on "static usbd_device_t _usbd_dev = { 0 };" $(BUILD)/lib/tinyusb/src/device/usbd.o: CFLAGS += -Wno-missing-braces +# ============================================================================= +# Build targets +# ============================================================================= + all: $(BUILD)/firmware.hex $(BUILD)/firmware.bin +# Process linker scripts with C preprocessor to exchange LDDEFINES and +# aggregate output of preprocessor in a single linker script `link.ld` $(BUILD)/firmware.elf: $(OBJ) $(ECHO) "PREPROCESS LINK $@" $(Q)$(CC) -E -x c $(LDDEFINES) $(LD_FILES) | grep -v '^#' > $(BUILD)/link.ld From ce6d5b6a9b983002de1e71b46f4579ab284cdd48 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Wed, 22 Jun 2022 20:39:23 +0200 Subject: [PATCH 2/8] mimxrt/Makefile: Modifies handling of SDRAM option. Replaces preprocessor macro for SDRAM option form #ifdef to #if in order to allow always setting the define `MICROPY_HW_SDRAM_AVAIL` just with the appropriate value 0/1. This reduces one `if`in Makefile. --- ports/mimxrt/Makefile | 12 ++++++------ ports/mimxrt/board_init.c | 2 +- ports/mimxrt/boards/MIMXRT1021.ld | 4 ++-- ports/mimxrt/boards/MIMXRT1052.ld | 4 ++-- ports/mimxrt/boards/MIMXRT1062.ld | 4 ++-- ports/mimxrt/boards/MIMXRT1064.ld | 4 ++-- ports/mimxrt/boards/common.ld | 4 ++-- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ports/mimxrt/Makefile b/ports/mimxrt/Makefile index 82699440058f7..bbf8a006e35e5 100644 --- a/ports/mimxrt/Makefile +++ b/ports/mimxrt/Makefile @@ -373,6 +373,10 @@ else CFLAGS += -Os -DNDEBUG endif +# Set default values for optional variables +MICROPY_HW_SDRAM_AVAIL ?= 0 +MICROPY_HW_SDRAM_SIZE ?= 0 + # Configure default compiler flags CFLAGS += \ $(INC) \ @@ -389,6 +393,8 @@ CFLAGS += \ -DFSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1 \ -DI2C_RETRY_TIMES=1000000 \ -DMICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) \ + -DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL) \ + -DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE) \ -DSPI_RETRY_TIMES=1000000 \ -DUART_RETRY_TIMES=1000000 \ -DXIP_BOOT_HEADER_ENABLE=1 \ @@ -458,12 +464,6 @@ CFLAGS += \ -DMBEDTLS_CONFIG_FILE='"mbedtls/mbedtls_config.h"' endif -ifdef MICROPY_HW_SDRAM_AVAIL -CFLAGS += \ - -DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL) \ - -DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE) -endif - CFLAGS += $(CFLAGS_MOD) $(CFLAGS_EXTRA) # ============================================================================= diff --git a/ports/mimxrt/board_init.c b/ports/mimxrt/board_init.c index c3dbb652bc06c..12496890ac4a3 100644 --- a/ports/mimxrt/board_init.c +++ b/ports/mimxrt/board_init.c @@ -52,7 +52,7 @@ void board_init(void) { CLOCK_EnableClock(kCLOCK_Iomuxc); // ------------- SDRAM ------------ // - #ifdef MICROPY_HW_SDRAM_AVAIL + #if MICROPY_HW_SDRAM_AVAIL mimxrt_sdram_init(); #endif diff --git a/ports/mimxrt/boards/MIMXRT1021.ld b/ports/mimxrt/boards/MIMXRT1021.ld index 1263cd336c52e..60557f1bbf8a6 100644 --- a/ports/mimxrt/boards/MIMXRT1021.ld +++ b/ports/mimxrt/boards/MIMXRT1021.ld @@ -27,7 +27,7 @@ dtcm_size = 0x00018000; ocrm_start = 0x20200000; ocrm_size = 0x00018000; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL sdram_start = 0x80000000; sdram_size = MICROPY_HW_SDRAM_SIZE; #endif @@ -37,7 +37,7 @@ __stack_size__ = 0x6000; _estack = __StackTop; _sstack = __StackLimit; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL _gc_heap_start = ORIGIN(m_sdram); _gc_heap_end = ORIGIN(m_sdram) + LENGTH(m_sdram); #else diff --git a/ports/mimxrt/boards/MIMXRT1052.ld b/ports/mimxrt/boards/MIMXRT1052.ld index f7c60d24f4d19..3e5739acf58fd 100644 --- a/ports/mimxrt/boards/MIMXRT1052.ld +++ b/ports/mimxrt/boards/MIMXRT1052.ld @@ -29,7 +29,7 @@ dtcm_size = 0x00020000; ocrm_start = 0x20200000; ocrm_size = 0x00040000; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL sdram_start = 0x80000000; sdram_size = MICROPY_HW_SDRAM_SIZE; #endif @@ -39,7 +39,7 @@ __stack_size__ = 0x6000; _estack = __StackTop; _sstack = __StackLimit; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL _gc_heap_start = ORIGIN(m_sdram); _gc_heap_end = ORIGIN(m_sdram) + LENGTH(m_sdram); #else diff --git a/ports/mimxrt/boards/MIMXRT1062.ld b/ports/mimxrt/boards/MIMXRT1062.ld index f588e5bd9e237..fc4eb20c07c6a 100644 --- a/ports/mimxrt/boards/MIMXRT1062.ld +++ b/ports/mimxrt/boards/MIMXRT1062.ld @@ -29,7 +29,7 @@ dtcm_size = 0x00020000; ocrm_start = 0x20200000; ocrm_size = 0x000C0000; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL sdram_start = 0x80000000; sdram_size = MICROPY_HW_SDRAM_SIZE; #endif @@ -39,7 +39,7 @@ __stack_size__ = 0x8000; _estack = __StackTop; _sstack = __StackLimit; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL _gc_heap_start = ORIGIN(m_sdram); _gc_heap_end = ORIGIN(m_sdram) + LENGTH(m_sdram); #else diff --git a/ports/mimxrt/boards/MIMXRT1064.ld b/ports/mimxrt/boards/MIMXRT1064.ld index b36c52845343d..148f1f23e27e7 100644 --- a/ports/mimxrt/boards/MIMXRT1064.ld +++ b/ports/mimxrt/boards/MIMXRT1064.ld @@ -31,7 +31,7 @@ dtcm_size = 0x00020000; ocrm_start = 0x20200000; ocrm_size = 0x000C0000; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL sdram_start = 0x80000000; sdram_size = MICROPY_HW_SDRAM_SIZE; #endif @@ -41,7 +41,7 @@ __stack_size__ = 0x6000; _estack = __StackTop; _sstack = __StackLimit; -#ifdef MICROPY_HW_SDRAM_AVAIL +#if MICROPY_HW_SDRAM_AVAIL _gc_heap_start = ORIGIN(m_sdram); _gc_heap_end = ORIGIN(m_sdram) + LENGTH(m_sdram); #else diff --git a/ports/mimxrt/boards/common.ld b/ports/mimxrt/boards/common.ld index 7aee66e2e8e11..fbc99da3ddb0e 100644 --- a/ports/mimxrt/boards/common.ld +++ b/ports/mimxrt/boards/common.ld @@ -46,7 +46,7 @@ MEMORY m_dtcm (RW) : ORIGIN = dtcm_start, LENGTH = dtcm_size m_ocrm (RW) : ORIGIN = ocrm_start, LENGTH = ocrm_size - #ifdef MICROPY_HW_SDRAM_AVAIL + #if MICROPY_HW_SDRAM_AVAIL m_sdram (RX) : ORIGIN = sdram_start, LENGTH = sdram_size #endif } @@ -55,7 +55,7 @@ MEMORY SECTIONS { __flash_start = flash_start; - #ifdef MICROPY_HW_SDRAM_AVAIL + #if MICROPY_HW_SDRAM_AVAIL __sdram_start = sdram_start; #endif __vfs_start = ORIGIN(m_vfs); From f337fe643caeb25db6e7b0c2c6165e733c683e47 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Wed, 22 Jun 2022 20:43:27 +0200 Subject: [PATCH 3/8] mimxrt/Makefile: Modifies handling of SDCARD option. Removes separate `if` case in Makefile for setting SDCARD option define. --- ports/mimxrt/Makefile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ports/mimxrt/Makefile b/ports/mimxrt/Makefile index bbf8a006e35e5..051af6d6053ee 100644 --- a/ports/mimxrt/Makefile +++ b/ports/mimxrt/Makefile @@ -376,6 +376,7 @@ endif # Set default values for optional variables MICROPY_HW_SDRAM_AVAIL ?= 0 MICROPY_HW_SDRAM_SIZE ?= 0 +MICROPY_PY_MACHINE_SDCARD ?= 0 # Configure default compiler flags CFLAGS += \ @@ -395,6 +396,7 @@ CFLAGS += \ -DMICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE) \ -DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL) \ -DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE) \ + -DMICROPY_PY_MACHINE_SDCARD=$(MICROPY_PY_MACHINE_SDCARD) \ -DSPI_RETRY_TIMES=1000000 \ -DUART_RETRY_TIMES=1000000 \ -DXIP_BOOT_HEADER_ENABLE=1 \ @@ -452,11 +454,6 @@ CFLAGS += \ endif endif -# Configure feature specific compiler flags -ifeq ($(MICROPY_PY_MACHINE_SDCARD),1) -CFLAGS += -DMICROPY_PY_MACHINE_SDCARD=1 -endif - # All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP ifeq ($(MICROPY_PY_LWIP), 1) CFLAGS += \ From 85e23006d33cfadabf72efad9fc6129d0d03d916 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Wed, 22 Jun 2022 21:26:54 +0200 Subject: [PATCH 4/8] mimxrt/Makefile: Reworks board flash type handling. Reworks handling and configuration of different board flash types in makefile, linker scripts and board makefiles. --- ports/mimxrt/Makefile | 66 ++++++++----------- .../boards/MIMXRT1010_EVK/mpconfigboard.mk | 2 +- ports/mimxrt/boards/MIMXRT1011.ld | 2 +- ports/mimxrt/boards/MIMXRT1015.ld | 2 +- .../boards/MIMXRT1015_EVK/mpconfigboard.mk | 2 +- .../boards/MIMXRT1020_EVK/mpconfigboard.mk | 2 +- ports/mimxrt/boards/MIMXRT1021.ld | 2 +- .../boards/MIMXRT1050_EVK/mpconfigboard.mk | 2 +- ports/mimxrt/boards/MIMXRT1052.ld | 4 +- .../boards/MIMXRT1060_EVK/mpconfigboard.mk | 2 +- ports/mimxrt/boards/MIMXRT1062.ld | 4 +- ports/mimxrt/boards/MIMXRT1064.ld | 4 +- .../boards/MIMXRT1064_EVK/mpconfigboard.mk | 2 +- .../boards/OLIMEX_RT1010/mpconfigboard.mk | 2 +- .../boards/SEEED_ARCH_MIX/mpconfigboard.mk | 2 +- ports/mimxrt/boards/TEENSY40/mpconfigboard.mk | 2 +- ports/mimxrt/boards/TEENSY41/mpconfigboard.mk | 2 +- 17 files changed, 45 insertions(+), 59 deletions(-) diff --git a/ports/mimxrt/Makefile b/ports/mimxrt/Makefile index 051af6d6053ee..5334475fd7ca1 100644 --- a/ports/mimxrt/Makefile +++ b/ports/mimxrt/Makefile @@ -203,28 +203,21 @@ SRC_C += \ tusb_port.c \ $(SRC_TINYUSB_C) \ $(SRC_HAL_IMX_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 -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 -# + $(SRC_ETH_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 -$(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\" -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 -# +# 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 -$(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 diff --git a/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk index c2a50d722be1f..af705e0b9090b 100644 --- a/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk @@ -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/ diff --git a/ports/mimxrt/boards/MIMXRT1011.ld b/ports/mimxrt/boards/MIMXRT1011.ld index 19bbc27701657..db25742fc19bb 100644 --- a/ports/mimxrt/boards/MIMXRT1011.ld +++ b/ports/mimxrt/boards/MIMXRT1011.ld @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1015.ld b/ports/mimxrt/boards/MIMXRT1015.ld index 6d34200a9f78c..90336a2437127 100644 --- a/ports/mimxrt/boards/MIMXRT1015.ld +++ b/ports/mimxrt/boards/MIMXRT1015.ld @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk index 5d959b31d4546..a2661a4897596 100644 --- a/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk @@ -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) diff --git a/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk index c1e1678e59923..98262e2370e73 100644 --- a/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1021.ld b/ports/mimxrt/boards/MIMXRT1021.ld index 60557f1bbf8a6..bef0c13df5505 100644 --- a/ports/mimxrt/boards/MIMXRT1021.ld +++ b/ports/mimxrt/boards/MIMXRT1021.ld @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk index 65e3d30963d3e..4cdf18b62b378 100644 --- a/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1052.ld b/ports/mimxrt/boards/MIMXRT1052.ld index 3e5739acf58fd..7f5ed171193fa 100644 --- a/ports/mimxrt/boards/MIMXRT1052.ld +++ b/ports/mimxrt/boards/MIMXRT1052.ld @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk index 56ccba6e5929c..ecdd7ec0cb03d 100644 --- a/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1062.ld b/ports/mimxrt/boards/MIMXRT1062.ld index fc4eb20c07c6a..adbad76bba317 100644 --- a/ports/mimxrt/boards/MIMXRT1062.ld +++ b/ports/mimxrt/boards/MIMXRT1062.ld @@ -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 diff --git a/ports/mimxrt/boards/MIMXRT1064.ld b/ports/mimxrt/boards/MIMXRT1064.ld index 148f1f23e27e7..ab31f8c0e8e59 100644 --- a/ports/mimxrt/boards/MIMXRT1064.ld +++ b/ports/mimxrt/boards/MIMXRT1064.ld @@ -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; #elif MICROPY_HW_FLASH_TYPE==internal flash_start = 0x70000000; diff --git a/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk index 5cd7d49abd58a..f524a81e60b01 100644 --- a/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk @@ -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 diff --git a/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk b/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk index e4f904903de7d..96aaa57764f17 100644 --- a/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk +++ b/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk @@ -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 diff --git a/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk b/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk index 90edc5d517821..7a87496b9418a 100644 --- a/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk +++ b/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk @@ -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 diff --git a/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk b/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk index 94e427cc168a9..aa903a0604fd4 100644 --- a/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk +++ b/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk @@ -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 diff --git a/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk b/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk index a012444caaa96..454967f04f02c 100755 --- a/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk +++ b/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk @@ -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 From 531164eb4daa7d93b4df7e43a392d823afb2e4b8 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Wed, 22 Jun 2022 21:41:42 +0200 Subject: [PATCH 5/8] mimxrt/Makefile: Reworks floating point config. Reworks source file and compile flags selection for floating point support. --- ports/mimxrt/Makefile | 132 ++++++++++++------------------------------ 1 file changed, 36 insertions(+), 96 deletions(-) diff --git a/ports/mimxrt/Makefile b/ports/mimxrt/Makefile index 5334475fd7ca1..86b8845db5165 100644 --- a/ports/mimxrt/Makefile +++ b/ports/mimxrt/Makefile @@ -222,89 +222,27 @@ endif # Math library source files ifeq ($(MICROPY_FLOAT_IMPL),double) -LIBM_SRC_C += $(addprefix lib/libm_dbl/,\ - __cos.c \ - __expo2.c \ - __fpclassify.c \ - __rem_pio2.c \ - __rem_pio2_large.c \ - __signbit.c \ - __sin.c \ - __tan.c \ - acos.c \ - acosh.c \ - asin.c \ - asinh.c \ - atan.c \ - atan2.c \ - atanh.c \ - ceil.c \ - copysign.c \ - cos.c \ - cosh.c \ - erf.c \ - exp.c \ - expm1.c \ - floor.c \ - fmod.c \ - frexp.c \ - ldexp.c \ - lgamma.c \ - log.c \ - log10.c \ - log1p.c \ - modf.c \ - nearbyint.c \ - pow.c \ - rint.c \ - round.c \ - scalbn.c \ - sin.c \ - sinh.c \ - tan.c \ - tanh.c \ - tgamma.c \ - trunc.c \ - ) -ifeq ($(SUPPORTS_HARDWARE_FP_DOUBLE),1) -LIBM_SRC_C += lib/libm_dbl/thumb_vfp_sqrt.c -else -LIBM_SRC_C += lib/libm_dbl/sqrt.c -endif -else -LIBM_SRC_C += $(addprefix lib/libm/,\ - acoshf.c \ - asinfacosf.c \ - asinhf.c \ - atan2f.c \ - atanf.c \ - atanhf.c \ - ef_rem_pio2.c \ - erf_lgamma.c \ - fmodf.c \ - kf_cos.c \ - kf_rem_pio2.c \ - kf_sin.c \ - kf_tan.c \ - log1pf.c \ - math.c \ - nearbyintf.c \ - roundf.c \ - sf_cos.c \ - sf_erf.c \ - sf_frexp.c \ - sf_ldexp.c \ - sf_modf.c \ - sf_sin.c \ - sf_tan.c \ - wf_lgamma.c \ - wf_tgamma.c \ - ) -ifeq ($(SUPPORTS_HARDWARE_FP_SINGLE),1) -LIBM_SRC_C += lib/libm/thumb_vfp_sqrtf.c + LIBM_SRC_C += $(addprefix lib/libm_dbl/,\ + __cos.c __expo2.c __fpclassify.c __rem_pio2.c __rem_pio2_large.c __signbit.c __sin.c __tan.c acos.c acosh.c \ + asin.c asinh.c atan.c atan2.c atanh.c ceil.c copysign.c cos.c cosh.c erf.c exp.c expm1.c floor.c fmod.c \ + frexp.c ldexp.c lgamma.c log.c log10.c log1p.c modf.c nearbyint.c pow.c rint.c round.c scalbn.c sin.c \ + sinh.c tan.c tanh.c tgamma.c trunc.c) + # + ifeq ($(SUPPORTS_HARDWARE_FP_DOUBLE),1) + LIBM_SRC_C += lib/libm_dbl/thumb_vfp_sqrt.c + else + LIBM_SRC_C += lib/libm_dbl/sqrt.c + endif else -LIBM_SRC_C += lib/libm/ef_sqrt.c -endif + LIBM_SRC_C += $(addprefix lib/libm/,\ + acoshf.c asinfacosf.c asinhf.c atan2f.c atanf.c atanhf.c ef_rem_pio2.c erf_lgamma.c fmodf.c kf_cos.c \ + kf_rem_pio2.c kf_sin.c kf_tan.c log1pf.c math.c nearbyintf.c roundf.c sf_cos.c sf_erf.c sf_frexp.c sf_ldexp.c \ + sf_modf.c sf_sin.c sf_tan.c wf_lgamma.c wf_tgamma.c) + ifeq ($(SUPPORTS_HARDWARE_FP_SINGLE),1) + LIBM_SRC_C += lib/libm/thumb_vfp_sqrtf.c + else + LIBM_SRC_C += lib/libm/ef_sqrt.c + endif endif # Reset variables @@ -423,23 +361,25 @@ else endif # Configure floating point support -ifeq ($(MICROPY_FLOAT_IMPL),double) -CFLAGS += \ - -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_DOUBLE \ - -mfloat-abi=hard \ - -mfpu=fpv5-d16 -else -ifeq ($(MICROPY_FLOAT_IMPL),none) -CFLAGS += -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_NONE +ifeq ($(MICROPY_FLOAT_IMPL),single) + CFLAGS += \ + -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_FLOAT \ + -fsingle-precision-constant \ + -mfloat-abi=softfp \ + -mfpu=fpv5-sp-d16 +else ifeq ($(MICROPY_FLOAT_IMPL),double) + CFLAGS += \ + -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_DOUBLE \ + -mfloat-abi=hard \ + -mfpu=fpv5-d16 +else ifeq ($(MICROPY_FLOAT_IMPL),none) + CFLAGS += \ + -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_NONE else -CFLAGS += \ - -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_FLOAT \ - -fsingle-precision-constant \ - -mfloat-abi=softfp \ - -mfpu=fpv5-sp-d16 -endif + $(error Error: Unknown floating point implementation $(MICROPY_FLOAT_IMPL)) endif + # All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP ifeq ($(MICROPY_PY_LWIP), 1) CFLAGS += \ From 7b0f5e221e26dc6c60c6c979362ceac9ca998622 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Wed, 22 Jun 2022 21:44:04 +0200 Subject: [PATCH 6/8] mimxrt/Makefile: Fixes formatting. --- ports/mimxrt/Makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ports/mimxrt/Makefile b/ports/mimxrt/Makefile index 86b8845db5165..fb4696f2c4bc8 100644 --- a/ports/mimxrt/Makefile +++ b/ports/mimxrt/Makefile @@ -27,7 +27,7 @@ include ../../py/mkenv.mk # Include micropython configuration board makefile ifeq ($(wildcard $(BOARD_DIR)/.),) -$(error Invalid BOARD specified: $(BOARD_DIR)) + $(error Invalid BOARD specified: $(BOARD_DIR)) endif include $(BOARD_DIR)/mpconfigboard.mk @@ -70,7 +70,7 @@ INC += -I. INC += -Ihal # All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP -ifeq ($(MICROPY_PY_LWIP), 1) +ifeq ($(MICROPY_PY_LWIP),1) INC += -Ilwip_inc INC += -Ihal/phy endif @@ -95,7 +95,7 @@ SRC_TINYUSB_C += \ lib/tinyusb/src/tusb.c # All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP -ifeq ($(MICROPY_PY_LWIP), 1) +ifeq ($(MICROPY_PY_LWIP),1) SRC_MOD := $(filter-out %/mbedtls/library/error.c, $(SRC_MOD)) SRC_ETH_C += \ $(MCU_DIR)/drivers/fsl_enet.c \ @@ -132,7 +132,7 @@ SRC_HAL_IMX_C += \ $(MCU_DIR)/system_$(MCU_SERIES).c \ $(MCU_DIR)/xip/fsl_flexspi_nor_boot.c \ -ifeq ($(MICROPY_HW_SDRAM_AVAIL), 1) +ifeq ($(MICROPY_HW_SDRAM_AVAIL),1) SRC_HAL_IMX_C += $(MCU_DIR)/drivers/fsl_semc.c endif @@ -211,7 +211,7 @@ ifeq ($(MICROPY_HW_FLASH_TYPE),$(filter $(MICROPY_HW_FLASH_TYPE),qspi_nor_flash 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) + 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 @@ -261,7 +261,7 @@ SRC_S += shared/runtime/gchelper_m3.s \ # ============================================================================= # All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP -ifeq ($(MICROPY_PY_LWIP), 1) +ifeq ($(MICROPY_PY_LWIP),1) SRC_QSTR += \ extmod/modlwip.c \ extmod/modnetwork.c \ @@ -351,7 +351,7 @@ ifeq ($(MICROPY_HW_FLASH_TYPE),$(filter $(MICROPY_HW_FLASH_TYPE),qspi_nor_flash 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) + 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\" @@ -381,7 +381,7 @@ endif # All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP -ifeq ($(MICROPY_PY_LWIP), 1) +ifeq ($(MICROPY_PY_LWIP),1) CFLAGS += \ -DFSL_FEATURE_PHYKSZ8081_USE_RMII50M_MODE=1 \ -DMBEDTLS_CONFIG_FILE='"mbedtls/mbedtls_config.h"' From cb1fe8b555e9e70654a7eee6043cc70ec2bbf7b4 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Thu, 23 Jun 2022 19:00:54 +0200 Subject: [PATCH 7/8] mimxrt/Makefile: Removes conditional assignment. Removes conditional assignment because respective variables should only be set in board makefiles. Hence no conditional assignment needed. --- ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/TEENSY40/mpconfigboard.mk | 4 ++-- ports/mimxrt/boards/TEENSY41/mpconfigboard.mk | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk index af705e0b9090b..19db53c3f8710 100644 --- a/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1010_EVK/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1011DAE5A MICROPY_FLOAT_IMPL = single MICROPY_PY_MACHINE_SDCARD = 0 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x1000000 # 16MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x1000000 # 16MB JLINK_PATH ?= /media/RT1010-EVK/ JLINK_COMMANDER_SCRIPT = $(BUILD)/script.jlink diff --git a/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk index a2661a4897596..ba7d61f6d4f0f 100644 --- a/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1015_EVK/mpconfigboard.mk @@ -3,7 +3,7 @@ MCU_VARIANT = MIMXRT1015DAF5A MICROPY_FLOAT_IMPL = single MICROPY_PY_MACHINE_SDCARD = 0 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x1000000 # 16MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x1000000 # 16MB MICROPY_BOOT_BUFFER_SIZE = (32 * 1024) diff --git a/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk index 98262e2370e73..e8922e4b7abfb 100644 --- a/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1020_EVK/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1021DAG5A MICROPY_FLOAT_IMPL = double MICROPY_PY_MACHINE_SDCARD = 1 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x800000 # 8MB MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_SIZE = 0x2000000 # 32MB diff --git a/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk index 4cdf18b62b378..00843350494a7 100644 --- a/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1052DVL6B MICROPY_FLOAT_IMPL = double MICROPY_PY_MACHINE_SDCARD = 1 -MICROPY_HW_FLASH_TYPE ?= qspi_hyper_flash -MICROPY_HW_FLASH_SIZE ?= 0x4000000 # 64MB +MICROPY_HW_FLASH_TYPE = qspi_hyper_flash +MICROPY_HW_FLASH_SIZE = 0x4000000 # 64MB MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_SIZE = 0x2000000 # 32MB diff --git a/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk index ecdd7ec0cb03d..96afe276f706d 100644 --- a/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1060_EVK/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1062DVJ6A MICROPY_FLOAT_IMPL = double MICROPY_PY_MACHINE_SDCARD = 1 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x800000 # 8MB MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_SIZE = 0x2000000 # 32MB diff --git a/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk b/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk index f524a81e60b01..ceb1e9796e01b 100644 --- a/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk +++ b/ports/mimxrt/boards/MIMXRT1064_EVK/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1064DVL6A MICROPY_FLOAT_IMPL = double MICROPY_PY_MACHINE_SDCARD = 1 -MICROPY_HW_FLASH_TYPE ?= qspi_hyper_flash -MICROPY_HW_FLASH_SIZE ?= 0x4000000 # 64MB +MICROPY_HW_FLASH_TYPE = qspi_hyper_flash +MICROPY_HW_FLASH_SIZE = 0x4000000 # 64MB MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_SIZE = 0x2000000 # 32MB diff --git a/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk b/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk index 96aaa57764f17..135c43257c95e 100644 --- a/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk +++ b/ports/mimxrt/boards/OLIMEX_RT1010/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1011DAE5A MICROPY_FLOAT_IMPL = single MICROPY_PY_MACHINE_SDCARD ?= 0 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x200000 # 2MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x200000 # 2MB MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB CFLAGS += -DMICROPY_HW_FLASH_DQS=kFlexSPIReadSampleClk_LoopbackInternally diff --git a/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk b/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk index 7a87496b9418a..2312d11311e50 100644 --- a/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk +++ b/ports/mimxrt/boards/SEEED_ARCH_MIX/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1052DVL6B MICROPY_FLOAT_IMPL = double MICROPY_PY_MACHINE_SDCARD = 1 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x800000 # 8MB MICROPY_HW_SDRAM_AVAIL = 1 MICROPY_HW_SDRAM_SIZE = 0x2000000 # 32MB diff --git a/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk b/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk index aa903a0604fd4..4482c629f7dcc 100644 --- a/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk +++ b/ports/mimxrt/boards/TEENSY40/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1062DVJ6A MICROPY_FLOAT_IMPL = double MICROPY_PY_MACHINE_SDCARD = 1 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x200000 # 2MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x200000 # 2MB MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB deploy: $(BUILD)/firmware.hex diff --git a/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk b/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk index 454967f04f02c..601a2cfe8606c 100755 --- a/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk +++ b/ports/mimxrt/boards/TEENSY41/mpconfigboard.mk @@ -3,8 +3,8 @@ MCU_VARIANT = MIMXRT1062DVJ6A MICROPY_FLOAT_IMPL = double MICROPY_PY_MACHINE_SDCARD = 1 -MICROPY_HW_FLASH_TYPE ?= qspi_nor_flash -MICROPY_HW_FLASH_SIZE ?= 0x800000 # 8MB +MICROPY_HW_FLASH_TYPE = qspi_nor_flash +MICROPY_HW_FLASH_SIZE = 0x800000 # 8MB MICROPY_HW_FLASH_RESERVED ?= 0x1000 # 4KB MICROPY_PY_LWIP = 1 From 5512c9f153cad28f343198eac01ff31ce20701d1 Mon Sep 17 00:00:00 2001 From: Philipp Ebensberger Date: Thu, 23 Jun 2022 19:04:55 +0200 Subject: [PATCH 8/8] mimxrt/Makefiles: Fixes formatting. Fixes formatting in linker scripts for flash type conditionals. --- ports/mimxrt/boards/MIMXRT1011.ld | 2 +- ports/mimxrt/boards/MIMXRT1052.ld | 4 ++-- ports/mimxrt/boards/MIMXRT1062.ld | 4 ++-- ports/mimxrt/boards/MIMXRT1064.ld | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ports/mimxrt/boards/MIMXRT1011.ld b/ports/mimxrt/boards/MIMXRT1011.ld index db25742fc19bb..908eefffd643f 100644 --- a/ports/mimxrt/boards/MIMXRT1011.ld +++ b/ports/mimxrt/boards/MIMXRT1011.ld @@ -3,7 +3,7 @@ reserved_size = MICROPY_HW_FLASH_RESERVED; #endif -#if MICROPY_HW_FLASH_TYPE==qspi_nor_flash +#if MICROPY_HW_FLASH_TYPE == qspi_nor_flash flash_start = 0x60000000; #else #error Unknown MICROPY_HW_FLASH_TYPE diff --git a/ports/mimxrt/boards/MIMXRT1052.ld b/ports/mimxrt/boards/MIMXRT1052.ld index 7f5ed171193fa..ca656711a5a77 100644 --- a/ports/mimxrt/boards/MIMXRT1052.ld +++ b/ports/mimxrt/boards/MIMXRT1052.ld @@ -3,9 +3,9 @@ reserved_size = MICROPY_HW_FLASH_RESERVED; #endif -#if MICROPY_HW_FLASH_TYPE==qspi_nor_flash +#if MICROPY_HW_FLASH_TYPE == qspi_nor_flash flash_start = 0x60000000; -#elif MICROPY_HW_FLASH_TYPE==qspi_hyper_flash +#elif MICROPY_HW_FLASH_TYPE == qspi_hyper_flash flash_start = 0x60000000; #else #error Unknown MICROPY_HW_FLASH_TYPE diff --git a/ports/mimxrt/boards/MIMXRT1062.ld b/ports/mimxrt/boards/MIMXRT1062.ld index adbad76bba317..5b91550d97d60 100644 --- a/ports/mimxrt/boards/MIMXRT1062.ld +++ b/ports/mimxrt/boards/MIMXRT1062.ld @@ -3,9 +3,9 @@ reserved_size = MICROPY_HW_FLASH_RESERVED; #endif -#if MICROPY_HW_FLASH_TYPE==qspi_nor_flash +#if MICROPY_HW_FLASH_TYPE == qspi_nor_flash flash_start = 0x60000000; -#elif MICROPY_HW_FLASH_TYPE==qspi_hyper_flash +#elif MICROPY_HW_FLASH_TYPE == qspi_hyper_flash flash_start = 0x60000000; #else #error Unknown MICROPY_HW_FLASH_TYPE diff --git a/ports/mimxrt/boards/MIMXRT1064.ld b/ports/mimxrt/boards/MIMXRT1064.ld index ab31f8c0e8e59..1fbc855fa13f5 100644 --- a/ports/mimxrt/boards/MIMXRT1064.ld +++ b/ports/mimxrt/boards/MIMXRT1064.ld @@ -3,11 +3,11 @@ reserved_size = MICROPY_HW_FLASH_RESERVED; #endif -#if MICROPY_HW_FLASH_TYPE==qspi_nor_flash +#if MICROPY_HW_FLASH_TYPE == qspi_nor_flash flash_start = 0x60000000; -#elif MICROPY_HW_FLASH_TYPE==qspi_hyper_flash +#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 pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy