summaryrefslogtreecommitdiffstats
path: root/bsps/arm/imxrt/start/mpu-config.c
diff options
context:
space:
mode:
authorChristian Mauderer <christian.mauderer@embedded-brains.de>2021-05-11 13:46:56 +0200
committerChristian Mauderer <christian.mauderer@embedded-brains.de>2021-05-17 09:06:41 +0200
commit691fec407a0faae379cab23679ec8456ace9fb06 (patch)
treed557e4a15157126bcb2e8c6fb54c33f7769b4218 /bsps/arm/imxrt/start/mpu-config.c
parentbsps/imxrt: Add addresses and interrupts to dts (diff)
downloadrtems-691fec407a0faae379cab23679ec8456ace9fb06.tar.bz2
bsps/imxrt: Fix OCRAM, ITCM and DTCM sizes
The sizes are configurable via fuses or per software via some registers. At the moment the registers are not changed. Changing the registers destroys data stored in the RAM areas (like application code or data). So either the fuses or some bootloader should be used to set them before the application starts. This also adds an OCRAM only linker command file. Update #4180
Diffstat (limited to '')
-rw-r--r--bsps/arm/imxrt/start/mpu-config.c6
1 files changed, 6 insertions, 0 deletions
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