summaryrefslogtreecommitdiffstats
path: root/bsps/arm/imxrt
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/arm/imxrt')
-rw-r--r--bsps/arm/imxrt/include/imxrt/memory.h4
-rw-r--r--bsps/arm/imxrt/start/linkcmds.ocram23
-rw-r--r--bsps/arm/imxrt/start/mpu-config.c6
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