diff options
Diffstat (limited to 'bsps/arm/imxrt')
-rw-r--r-- | bsps/arm/imxrt/include/imxrt/memory.h | 4 | ||||
-rw-r--r-- | bsps/arm/imxrt/start/linkcmds.ocram | 23 | ||||
-rw-r--r-- | bsps/arm/imxrt/start/mpu-config.c | 6 |
3 files changed, 33 insertions, 0 deletions
diff --git a/bsps/arm/imxrt/include/imxrt/memory.h b/bsps/arm/imxrt/include/imxrt/memory.h index 5a6b457aa6..8185f713cc 100644 --- a/bsps/arm/imxrt/include/imxrt/memory.h +++ b/bsps/arm/imxrt/include/imxrt/memory.h @@ -48,6 +48,10 @@ extern char imxrt_memory_ocram_begin[]; extern char imxrt_memory_ocram_end[]; extern char imxrt_memory_ocram_size[]; +extern char imxrt_memory_ocram_nocache_begin[]; +extern char imxrt_memory_ocram_nocache_end[]; +extern char imxrt_memory_ocram_nocache_size[]; + extern char imxrt_memory_peripheral_begin[]; extern char imxrt_memory_peripheral_end[]; extern char imxrt_memory_peripheral_size[]; diff --git a/bsps/arm/imxrt/start/linkcmds.ocram b/bsps/arm/imxrt/start/linkcmds.ocram new file mode 100644 index 0000000000..6df3c917b1 --- /dev/null +++ b/bsps/arm/imxrt/start/linkcmds.ocram @@ -0,0 +1,23 @@ +INCLUDE linkcmds.memory + +REGION_ALIAS ("REGION_START", OCRAM); +REGION_ALIAS ("REGION_VECTOR", OCRAM); +REGION_ALIAS ("REGION_TEXT", OCRAM); +REGION_ALIAS ("REGION_TEXT_LOAD", OCRAM); +REGION_ALIAS ("REGION_RODATA", OCRAM); +REGION_ALIAS ("REGION_RODATA_LOAD", OCRAM); +REGION_ALIAS ("REGION_DATA", OCRAM); +REGION_ALIAS ("REGION_DATA_LOAD", OCRAM); +REGION_ALIAS ("REGION_FAST_TEXT", OCRAM); +REGION_ALIAS ("REGION_FAST_TEXT_LOAD", OCRAM); +REGION_ALIAS ("REGION_FAST_DATA", OCRAM); +REGION_ALIAS ("REGION_FAST_DATA_LOAD", OCRAM); +REGION_ALIAS ("REGION_BSS", OCRAM); +REGION_ALIAS ("REGION_WORK", OCRAM); +REGION_ALIAS ("REGION_STACK", OCRAM); +REGION_ALIAS ("REGION_NOCACHE", OCRAM_NOCACHE); +REGION_ALIAS ("REGION_NOCACHE_LOAD", OCRAM); + +bsp_vector_table_in_start_section = 1; + +INCLUDE linkcmds.armv7m diff --git a/bsps/arm/imxrt/start/mpu-config.c b/bsps/arm/imxrt/start/mpu-config.c index 31c39bc16f..683b26d45b 100644 --- a/bsps/arm/imxrt/start/mpu-config.c +++ b/bsps/arm/imxrt/start/mpu-config.c @@ -56,6 +56,12 @@ BSP_START_DATA_SECTION const ARMV7M_MPU_Region_config | ARMV7M_MPU_RASR_TEX(0x2) | ARMV7M_MPU_RASR_ENABLE, }, { + .begin = imxrt_memory_ocram_nocache_begin, + .end = imxrt_memory_ocram_nocache_end, + .rasr = ARMV7M_MPU_RASR_AP(0x3) + | ARMV7M_MPU_RASR_TEX(0x2) + | ARMV7M_MPU_RASR_ENABLE, + }, { .begin = imxrt_memory_peripheral_begin, .end = imxrt_memory_peripheral_end, .rasr = ARMV7M_MPU_RASR_XN |