bsps/imxrt: Simplify linkcmds and make it flexible

Calling the memory FLASH and EXTRAM instead of FLEXSPI and SDRAM makes
it simpler to support other types of external RAM. This patch also
removes some of the calculations and improves names and documentation to
avoid pitfalls. It removes a unnecessary memory definition.

Update #4180
This commit is contained in:
Christian Mauderer
2021-05-28 16:54:00 +02:00
parent 95a38dd3f1
commit 0d3453a47e
18 changed files with 156 additions and 131 deletions

View File

@@ -56,29 +56,25 @@ extern char imxrt_memory_peripheral_begin[];
extern char imxrt_memory_peripheral_end[];
extern char imxrt_memory_peripheral_size[];
extern char imxrt_memory_flexspi_config_begin[];
extern char imxrt_memory_flexspi_config_end[];
extern char imxrt_memory_flexspi_config_size[];
extern char imxrt_memory_flash_config_begin[];
extern char imxrt_memory_flash_config_end[];
extern char imxrt_memory_flash_config_size[];
extern char imxrt_memory_flexspi_ivt_begin[];
extern char imxrt_memory_flexspi_ivt_end[];
extern char imxrt_memory_flexspi_ivt_size[];
extern char imxrt_memory_flash_ivt_begin[];
extern char imxrt_memory_flash_ivt_end[];
extern char imxrt_memory_flash_ivt_size[];
extern char imxrt_memory_flexspi_begin[];
extern char imxrt_memory_flexspi_end[];
extern char imxrt_memory_flexspi_size[];
extern char imxrt_memory_flash_begin[];
extern char imxrt_memory_flash_end[];
extern char imxrt_memory_flash_size[];
extern char imxrt_memory_flexspi_fifo_begin[];
extern char imxrt_memory_flexspi_fifo_end[];
extern char imxrt_memory_flexspi_fifo_size[];
extern char imxrt_memory_extram_begin[];
extern char imxrt_memory_extram_end[];
extern char imxrt_memory_extram_size[];
extern char imxrt_memory_sdram_begin[];
extern char imxrt_memory_sdram_end[];
extern char imxrt_memory_sdram_size[];
extern char imxrt_memory_sdram_nocache_begin[];
extern char imxrt_memory_sdram_nocache_end[];
extern char imxrt_memory_sdram_nocache_size[];
extern char imxrt_memory_extram_nocache_begin[];
extern char imxrt_memory_extram_nocache_end[];
extern char imxrt_memory_extram_nocache_size[];
#ifdef __cplusplus
}

View File

@@ -30,8 +30,8 @@
#include <bspopts.h>
const BOOT_DATA_T imxrt_boot_data = {
.start = (uint32_t) imxrt_memory_flexspi_config_begin,
.size = IMXRT_MEMORY_FLEXSPI_FLASH_SIZE,
.start = (uint32_t) imxrt_memory_flash_config_begin,
.size = IMXRT_MEMORY_FLASH_SIZE,
.plugin = PLUGIN_FLAG,
.placeholder = 0xFFFFFFFF,
};

View File

@@ -43,7 +43,7 @@ const flexspi_nor_config_t imxrt_flexspi_config = {
.deviceType = kFlexSpiDeviceType_SerialRAM,
.sflashPadType = kSerialFlash_8Pads,
.serialClkFreq = kFlexSpiSerialClk_133MHz,
.sflashA1Size = IMXRT_MEMORY_FLEXSPI_FLASH_SIZE,
.sflashA1Size = IMXRT_MEMORY_FLASH_SIZE,
.dataValidTime = {16u, 16u},
.lookupTable = {
FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0xA0, RADDR_DDR, FLEXSPI_8PAD, 0x18),

View File

@@ -1,22 +1,22 @@
INCLUDE linkcmds.memory
REGION_ALIAS ("REGION_START", FLEXSPI);
REGION_ALIAS ("REGION_VECTOR", FLEXSPI);
REGION_ALIAS ("REGION_TEXT", FLEXSPI);
REGION_ALIAS ("REGION_TEXT_LOAD", FLEXSPI);
REGION_ALIAS ("REGION_RODATA", FLEXSPI);
REGION_ALIAS ("REGION_RODATA_LOAD", FLEXSPI);
REGION_ALIAS ("REGION_DATA", SDRAM);
REGION_ALIAS ("REGION_DATA_LOAD", FLEXSPI);
REGION_ALIAS ("REGION_FAST_TEXT", FLEXSPI);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", FLEXSPI);
REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
REGION_ALIAS ("REGION_FAST_DATA_LOAD", FLEXSPI);
REGION_ALIAS ("REGION_BSS", SDRAM);
REGION_ALIAS ("REGION_WORK", SDRAM);
REGION_ALIAS ("REGION_STACK", SDRAM);
REGION_ALIAS ("REGION_NOCACHE", SDRAM_NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", FLEXSPI);
REGION_ALIAS ("REGION_START", FLASH);
REGION_ALIAS ("REGION_VECTOR", FLASH);
REGION_ALIAS ("REGION_TEXT", FLASH);
REGION_ALIAS ("REGION_TEXT_LOAD", FLASH);
REGION_ALIAS ("REGION_RODATA", FLASH);
REGION_ALIAS ("REGION_RODATA_LOAD", FLASH);
REGION_ALIAS ("REGION_DATA", EXTRAM);
REGION_ALIAS ("REGION_DATA_LOAD", FLASH);
REGION_ALIAS ("REGION_FAST_TEXT", FLASH);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", FLASH);
REGION_ALIAS ("REGION_FAST_DATA", EXTRAM);
REGION_ALIAS ("REGION_FAST_DATA_LOAD", FLASH);
REGION_ALIAS ("REGION_BSS", EXTRAM);
REGION_ALIAS ("REGION_WORK", EXTRAM);
REGION_ALIAS ("REGION_STACK", EXTRAM);
REGION_ALIAS ("REGION_NOCACHE", EXTRAM_NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", FLASH);
bsp_vector_table_in_start_section = 1;
@@ -24,12 +24,12 @@ SECTIONS {
. = imxrt_memory_flexspi_begin;
.flash_config : ALIGN_WITH_INPUT {
KEEP(*(.boot_hdr.conf))
} > FLEXSPI_CONFIG AT > FLEXSPI_CONFIG
} > FLASH_CONFIG AT > FLASH_CONFIG
.flash_ivt : ALIGN_WITH_INPUT {
KEEP(*(.boot_hdr.ivt))
KEEP(*(.boot_hdr.boot_data))
KEEP(*(.boot_hdr.dcd_data))
} > FLEXSPI_IVT AT > FLEXSPI_IVT
} > FLASH_IVT AT > FLASH_IVT
}
INCLUDE linkcmds.armv7m

View File

@@ -1,22 +1,22 @@
INCLUDE linkcmds.memory
REGION_ALIAS ("REGION_START", SDRAM);
REGION_ALIAS ("REGION_VECTOR", SDRAM);
REGION_ALIAS ("REGION_TEXT", SDRAM);
REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
REGION_ALIAS ("REGION_RODATA", SDRAM);
REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
REGION_ALIAS ("REGION_DATA", SDRAM);
REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
REGION_ALIAS ("REGION_BSS", SDRAM);
REGION_ALIAS ("REGION_WORK", SDRAM);
REGION_ALIAS ("REGION_STACK", SDRAM);
REGION_ALIAS ("REGION_NOCACHE", SDRAM_NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", SDRAM);
REGION_ALIAS ("REGION_START", EXTRAM);
REGION_ALIAS ("REGION_VECTOR", EXTRAM);
REGION_ALIAS ("REGION_TEXT", EXTRAM);
REGION_ALIAS ("REGION_TEXT_LOAD", EXTRAM);
REGION_ALIAS ("REGION_RODATA", EXTRAM);
REGION_ALIAS ("REGION_RODATA_LOAD", EXTRAM);
REGION_ALIAS ("REGION_DATA", EXTRAM);
REGION_ALIAS ("REGION_DATA_LOAD", EXTRAM);
REGION_ALIAS ("REGION_FAST_TEXT", EXTRAM);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", EXTRAM);
REGION_ALIAS ("REGION_FAST_DATA", EXTRAM);
REGION_ALIAS ("REGION_FAST_DATA_LOAD", EXTRAM);
REGION_ALIAS ("REGION_BSS", EXTRAM);
REGION_ALIAS ("REGION_WORK", EXTRAM);
REGION_ALIAS ("REGION_STACK", EXTRAM);
REGION_ALIAS ("REGION_NOCACHE", EXTRAM_NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", EXTRAM);
bsp_vector_table_in_start_section = 1;

View File

@@ -32,8 +32,8 @@
BSP_START_DATA_SECTION const ARMV7M_MPU_Region_config
imxrt_config_mpu_region [] = {
{
.begin = imxrt_memory_sdram_begin,
.end = imxrt_memory_sdram_end,
.begin = imxrt_memory_extram_begin,
.end = imxrt_memory_extram_end,
.rasr = ARMV7M_MPU_RASR_AP(0x3)
| ARMV7M_MPU_RASR_TEX(0x1) | ARMV7M_MPU_RASR_C | ARMV7M_MPU_RASR_B
| ARMV7M_MPU_RASR_ENABLE,
@@ -44,14 +44,14 @@ BSP_START_DATA_SECTION const ARMV7M_MPU_Region_config
| ARMV7M_MPU_RASR_TEX(0x1) | ARMV7M_MPU_RASR_C | ARMV7M_MPU_RASR_B
| ARMV7M_MPU_RASR_ENABLE,
}, {
.begin = imxrt_memory_flexspi_config_begin,
.end = imxrt_memory_flexspi_end,
.begin = imxrt_memory_flash_config_begin,
.end = imxrt_memory_flash_end,
.rasr = ARMV7M_MPU_RASR_AP(0x3)
| ARMV7M_MPU_RASR_TEX(0x1) | ARMV7M_MPU_RASR_C | ARMV7M_MPU_RASR_B
| ARMV7M_MPU_RASR_ENABLE,
}, {
.begin = imxrt_memory_sdram_nocache_begin,
.end = imxrt_memory_sdram_nocache_end,
.begin = imxrt_memory_extram_nocache_begin,
.end = imxrt_memory_extram_nocache_end,
.rasr = ARMV7M_MPU_RASR_AP(0x3)
| ARMV7M_MPU_RASR_TEX(0x2)
| ARMV7M_MPU_RASR_ENABLE,

View File

@@ -126,26 +126,28 @@ links:
uid: optlinkcmds
- role: build-dependency
uid: optmemdtcmsz
- role: build-dependency
uid: optmemextramnocachesz
- role: build-dependency
uid: optmemextramorigin
- role: build-dependency
uid: optmemextramsz
- role: build-dependency
uid: optmemflashcfgsz
- role: build-dependency
uid: optmemflashivtsz
- role: build-dependency
uid: optmemflexspisz
uid: optmemflashorigin
- role: build-dependency
uid: optmemflashsz
- role: build-dependency
uid: optmemitcmsz
- role: build-dependency
uid: optmemnullsz
- role: build-dependency
uid: optmemocramsz
- role: build-dependency
uid: optmemocramnocachesz
- role: build-dependency
uid: optmemsdrambase
- role: build-dependency
uid: optmemsdramsz
- role: build-dependency
uid: optmemsdramnocachesz
uid: optmemocramsz
- role: build-dependency
uid: ../start
- role: build-dependency
@@ -240,8 +242,8 @@ source:
- bsps/arm/imxrt/start/bspstarthooks.c
- bsps/arm/imxrt/start/clock-arm-pll-config.c
- bsps/arm/imxrt/start/flash-boot-data.c
- bsps/arm/imxrt/start/flash-config.c
- bsps/arm/imxrt/start/flash-dcd.c
- bsps/arm/imxrt/start/flash-flexspi-config.c
- bsps/arm/imxrt/start/flash-ivt.c
- bsps/arm/imxrt/start/imxrt-ffec-init.c
- bsps/arm/imxrt/start/mpu-config.c

View File

@@ -2,17 +2,16 @@ build-type: config-file
content: |
MEMORY {
NULL : ORIGIN = 0x00000000, LENGTH = ${IMXRT_MEMORY_NULL_SIZE:#010x}
ITCM : ORIGIN = ${IMXRT_MEMORY_NULL_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_ITCM_SIZE:#010x} - ${IMXRT_MEMORY_NULL_SIZE:#010x}
ITCM : ORIGIN = ${IMXRT_MEMORY_NULL_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_ITCM_SIZE:#010x}
DTCM : ORIGIN = 0x20000000, LENGTH = ${IMXRT_MEMORY_DTCM_SIZE:#010x}
OCRAM : ORIGIN = 0x20200000, LENGTH = ${IMXRT_MEMORY_OCRAM_SIZE:#010x} - ${IMXRT_MEMORY_OCRAM_NOCACHE_SIZE:#010x}
OCRAM_NOCACHE : ORIGIN = 0x20200000 + ${IMXRT_MEMORY_OCRAM_SIZE:#010x} - ${IMXRT_MEMORY_OCRAM_NOCACHE_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_OCRAM_NOCACHE_SIZE:#010x}
PERIPHERAL : ORIGIN = 0x40000000, LENGTH = 0x20000000
FLEXSPI_CONFIG : ORIGIN = 0x60000000, LENGTH = ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x}
FLEXSPI_IVT : ORIGIN = 0x60000000 + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}
FLEXSPI : ORIGIN = 0x60000000 + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} + ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLEXSPI_FLASH_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}
FLEXSPI_FIFO : ORIGIN = 0x7F800000, LENGTH = 8M
SDRAM : ORIGIN = ${IMXRT_MEMORY_SDRAM_BASE:#010x}, LENGTH = ${IMXRT_MEMORY_SDRAM_SIZE:#010x} - ${IMXRT_MEMORY_SDRAM_NOCACHE_SIZE:#010x}
SDRAM_NOCACHE : ORIGIN = ${IMXRT_MEMORY_SDRAM_BASE:#010x} + ${IMXRT_MEMORY_SDRAM_SIZE:#010x} - ${IMXRT_MEMORY_SDRAM_NOCACHE_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_SDRAM_NOCACHE_SIZE:#010x}
FLASH_CONFIG : ORIGIN = ${IMXRT_MEMORY_FLASH_ORIGIN:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x}
FLASH_IVT : ORIGIN = ${IMXRT_MEMORY_FLASH_ORIGIN:#010x} + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}
FLASH : ORIGIN = ${IMXRT_MEMORY_FLASH_ORIGIN:#010x} + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} + ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}
EXTRAM : ORIGIN = ${IMXRT_MEMORY_EXTRAM_ORIGIN:#010x}, LENGTH = ${IMXRT_MEMORY_EXTRAM_SIZE:#010x} - ${IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE:#010x}
EXTRAM_NOCACHE : ORIGIN = ${IMXRT_MEMORY_EXTRAM_ORIGIN:#010x} + ${IMXRT_MEMORY_EXTRAM_SIZE:#010x} - ${IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE:#010x}
}
imxrt_memory_null_begin = ORIGIN (NULL);
@@ -39,29 +38,25 @@ content: |
imxrt_memory_peripheral_end = ORIGIN (PERIPHERAL) + LENGTH (PERIPHERAL);
imxrt_memory_peripheral_size = LENGTH (PERIPHERAL);
imxrt_memory_flexspi_config_begin = ORIGIN (FLEXSPI_CONFIG);
imxrt_memory_flexspi_config_end = ORIGIN (FLEXSPI_CONFIG) + LENGTH (FLEXSPI_CONFIG);
imxrt_memory_flexspi_config_size = LENGTH (FLEXSPI_CONFIG);
imxrt_memory_flash_config_begin = ORIGIN (FLASH_CONFIG);
imxrt_memory_flash_config_end = ORIGIN (FLASH_CONFIG) + LENGTH (FLASH_CONFIG);
imxrt_memory_flash_config_size = LENGTH (FLASH_CONFIG);
imxrt_memory_flexspi_ivt_begin = ORIGIN (FLEXSPI_IVT);
imxrt_memory_flexspi_ivt_end = ORIGIN (FLEXSPI_IVT) + LENGTH (FLEXSPI_IVT);
imxrt_memory_flexspi_ivt_size = LENGTH (FLEXSPI_IVT);
imxrt_memory_flash_ivt_begin = ORIGIN (FLASH_IVT);
imxrt_memory_flash_ivt_end = ORIGIN (FLASH_IVT) + LENGTH (FLASH_IVT);
imxrt_memory_flash_ivt_size = LENGTH (FLASH_IVT);
imxrt_memory_flexspi_begin = ORIGIN (FLEXSPI);
imxrt_memory_flexspi_end = ORIGIN (FLEXSPI) + LENGTH (FLEXSPI);
imxrt_memory_flexspi_size = LENGTH (FLEXSPI);
imxrt_memory_flash_begin = ORIGIN (FLASH);
imxrt_memory_flash_end = ORIGIN (FLASH) + LENGTH (FLASH);
imxrt_memory_flash_size = LENGTH (FLASH);
imxrt_memory_flexspi_fifo_begin = ORIGIN (FLEXSPI_FIFO);
imxrt_memory_flexspi_fifo_end = ORIGIN (FLEXSPI_FIFO) + LENGTH (FLEXSPI_FIFO);
imxrt_memory_flexspi_fifo_size = LENGTH (FLEXSPI_FIFO);
imxrt_memory_extram_begin = ORIGIN (EXTRAM);
imxrt_memory_extram_end = ORIGIN (EXTRAM) + LENGTH (EXTRAM);
imxrt_memory_extram_size = LENGTH (EXTRAM);
imxrt_memory_sdram_begin = ORIGIN (SDRAM);
imxrt_memory_sdram_end = ORIGIN (SDRAM) + LENGTH (SDRAM);
imxrt_memory_sdram_size = LENGTH (SDRAM);
imxrt_memory_sdram_nocache_begin = ORIGIN (SDRAM_NOCACHE);
imxrt_memory_sdram_nocache_end = ORIGIN (SDRAM_NOCACHE) + LENGTH (SDRAM_NOCACHE);
imxrt_memory_sdram_nocache_size = LENGTH (SDRAM_NOCACHE);
imxrt_memory_extram_nocache_begin = ORIGIN (EXTRAM_NOCACHE);
imxrt_memory_extram_nocache_end = ORIGIN (EXTRAM_NOCACHE) + LENGTH (EXTRAM_NOCACHE);
imxrt_memory_extram_nocache_size = LENGTH (EXTRAM_NOCACHE);
enabled-by: true
install-path: ${BSP_LIBDIR}
links: []

View File

@@ -7,9 +7,10 @@ default-by-variant: []
enabled-by: true
format: '{:#010x}'
links: []
name: IMXRT_MEMORY_SDRAM_NOCACHE_SIZE
name: IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE
description: |
Size of the nocache area at the end of the SDRAM in bytes.
Size of the nocache area at the end of the external RAM in bytes. Must not be
bigger than IMXRT_MEMORY_EXTRAM_SIZE.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:

View File

@@ -7,9 +7,10 @@ default-by-variant: []
enabled-by: true
format: '{:#010x}'
links: []
name: IMXRT_MEMORY_SDRAM_BASE
name: IMXRT_MEMORY_EXTRAM_ORIGIN
description: |
Base address of the SDRAM.
Base address of the external RAM. An external ram can be for example be a
SDRAM connected to SEMC or a HyperRAM connected to FlexSPI.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:

View File

@@ -0,0 +1,19 @@
actions:
- get-integer: null
- env-assign: null
build-type: option
default: 0x2000000
default-by-variant: []
enabled-by: true
format: '{:#010x}'
links: []
name: IMXRT_MEMORY_EXTRAM_SIZE
description: |
Size of the external RAM in bytes. An external ram can be for example be a
SDRAM connected to SEMC or a HyperRAM connected to FlexSPI. The size has to
be at least big enough to hold the non cached section with size
IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE at the end of the RAM.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)

View File

@@ -1,15 +1,18 @@
actions:
- get-integer: null
- env-assign: null
- define-unquoted: IMXRT_MEMORY_FLASH_ORIGIN
build-type: option
default: 33554432
default: 0x60000000
default-by-variant: []
enabled-by: true
format: '{:#010x}'
links: []
name: IMXRT_MEMORY_SDRAM_SIZE
name: IMXRT_MEMORY_FLASH_ORIGIN
description: |
Size of the SDRAM in bytes.
Origin of the external flash memory. That can be for example a flash
connected to FlexSPI or to SEMC. The default value is for a HyperFlash
connected to FlexSPI.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:

View File

@@ -0,0 +1,20 @@
actions:
- get-integer: null
- env-assign: null
- define-unquoted: IMXRT_MEMORY_FLASH_SIZE
build-type: option
default: 0x4000000
default-by-variant: []
enabled-by: true
format: '{:#010x}'
links: []
name: IMXRT_MEMORY_FLASH_SIZE
description: |
Size of the external flash area in bytes. Has to be big enough to hold the
i.MXRT initial vector table (IVT) and configuration information. The sizes of
these are defined with IMXRT_MEMORY_FLASH_IVT_SIZE and
IMXRT_MEMORY_FLASH_CFG_SIZE.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)

View File

@@ -1,17 +0,0 @@
actions:
- get-integer: null
- env-assign: null
- define-unquoted: IMXRT_MEMORY_FLEXSPI_FLASH_SIZE
build-type: option
default: 67108864
default-by-variant: []
enabled-by: true
format: '{:#010x}'
links: []
name: IMXRT_MEMORY_FLEXSPI_FLASH_SIZE
description: |
Size of the FlexSPI Flash area in bytes.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)

View File

@@ -2,15 +2,16 @@ actions:
- get-integer: null
- env-assign: null
build-type: option
default: 0x20000
default: 0x1ff00
default-by-variant: []
enabled-by: true
format: '{:#010x}'
links: []
name: IMXRT_MEMORY_ITCM_SIZE
description: |
Size of the ITCM in bytes. Note that these sizes depend on fuses or software
settings done by a bootloader (together with DTCM and OCRAM).
Size of the ITCM in bytes. Note that these sizes depend on fuses or software
settings done by a bootloader (together with DTCM and OCRAM). The ITCM size
has to take the IMXRT_MEMORY_NULL_SIZE into account!
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:

View File

@@ -2,7 +2,7 @@ actions:
- get-integer: null
- env-assign: null
build-type: option
default: 0x400
default: 0x100
default-by-variant: []
enabled-by: true
format: '{:#010x}'
@@ -10,7 +10,8 @@ links: []
name: IMXRT_MEMORY_NULL_SIZE
description: |
Size of the NULL pointer protection area in bytes. This memory area reduces
the size of the ITCM available to the application.
the size of the ITCM available to the application. If you adapt this, you
have to adapt IMXRT_MEMORY_ITCM_SIZE too.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:

View File

@@ -9,7 +9,8 @@ format: '{:#010x}'
links: []
name: IMXRT_MEMORY_OCRAM_NOCACHE_SIZE
description: |
Size of the nocache area at the end of the OCRAM in bytes.
Size of the nocache area at the end of the OCRAM in bytes. Must not be bigger
than IMXRT_MEMORY_OCRAM_SIZE.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:

View File

@@ -9,8 +9,10 @@ format: '{:#010x}'
links: []
name: IMXRT_MEMORY_OCRAM_SIZE
description: |
Size of the OCRAM in bytes. Note that these sizes depend on fuses or software
settings done by a bootloader (together with ITCM and DTCM).
Size of the OCRAM in bytes. Note that these sizes depend on fuses or software
settings done by a bootloader (together with ITCM and DTCM). The size has to
be at least big enough to hold the non cached section with size
IMXRT_MEMORY_OCRAM_NOCACHE_SIZE at the end of the RAM.
type: build
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights: