[rtems commit] bsp/imx: Add nocache section

Sebastian Huber sebh at rtems.org
Wed Sep 27 08:59:38 UTC 2017


Module:    rtems
Branch:    master
Commit:    561698315f50258832ad41453318b1dcbd00ed49
Changeset: http://git.rtems.org/rtems/commit/?id=561698315f50258832ad41453318b1dcbd00ed49

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Sep 26 07:10:40 2017 +0200

bsp/imx: Add nocache section

Update #3090.

---

 c/src/lib/libbsp/arm/imx/make/custom/imx7.cfg  | 2 +-
 c/src/lib/libbsp/arm/imx/startup/bspstart.c    | 5 +++++
 c/src/lib/libbsp/arm/imx/startup/linkcmds.imx7 | 7 ++++---
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/c/src/lib/libbsp/arm/imx/make/custom/imx7.cfg b/c/src/lib/libbsp/arm/imx/make/custom/imx7.cfg
index a93919e..059f549 100644
--- a/c/src/lib/libbsp/arm/imx/make/custom/imx7.cfg
+++ b/c/src/lib/libbsp/arm/imx/make/custom/imx7.cfg
@@ -11,6 +11,6 @@ CFLAGS_OPTIMIZE_V ?= -O2 -g -ffunction-sections -fdata-sections
 # define bsp-post-link
 #   $(OBJCOPY) -O binary '$@' '$(basename $@).bin'
 #   gzip -f -9 '$(basename $@).bin'
-#   mkimage -A arm -O linux -T kernel -a 0x80004000 -e 0x80004000 -name '$(notdir $@)' -d '$(basename $@).bin.gz' '$(basename $@).img'
+#   mkimage -A arm -O linux -T kernel -a 0x80200000 -e 0x80200000 -name '$(notdir $@)' -d '$(basename $@).bin.gz' '$(basename $@).img'
 #   $(default-bsp-post-link)
 # endef
diff --git a/c/src/lib/libbsp/arm/imx/startup/bspstart.c b/c/src/lib/libbsp/arm/imx/startup/bspstart.c
index e28fe2b..f715726 100644
--- a/c/src/lib/libbsp/arm/imx/startup/bspstart.c
+++ b/c/src/lib/libbsp/arm/imx/startup/bspstart.c
@@ -17,6 +17,7 @@
 #include <bsp/fatal.h>
 #include <bsp/fdt.h>
 #include <bsp/irq-generic.h>
+#include <bsp/linker-symbols.h>
 
 #include <libfdt.h>
 
@@ -57,4 +58,8 @@ void arm_generic_timer_get_config(
 void bsp_start(void)
 {
   bsp_interrupt_initialize();
+  rtems_cache_coherent_add_area(
+    bsp_section_nocacheheap_begin,
+    (uintptr_t) bsp_section_nocacheheap_size
+  );
 }
diff --git a/c/src/lib/libbsp/arm/imx/startup/linkcmds.imx7 b/c/src/lib/libbsp/arm/imx/startup/linkcmds.imx7
index 6cb9fc3..750e1de 100644
--- a/c/src/lib/libbsp/arm/imx/startup/linkcmds.imx7
+++ b/c/src/lib/libbsp/arm/imx/startup/linkcmds.imx7
@@ -1,6 +1,7 @@
 MEMORY {
 	RAM_MMU : ORIGIN = 0x80000000, LENGTH = 16k
-	RAM : ORIGIN = 0x80004000, LENGTH = 512M - 16k
+	NOCACHE : ORIGIN = 0x80100000, LENGTH = 1M
+	RAM : ORIGIN = 0x80200000, LENGTH = 512M - 2M
 }
 
 REGION_ALIAS ("REGION_START", RAM);
@@ -18,8 +19,8 @@ REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM);
 REGION_ALIAS ("REGION_BSS", RAM);
 REGION_ALIAS ("REGION_WORK", RAM);
 REGION_ALIAS ("REGION_STACK", RAM);
-REGION_ALIAS ("REGION_NOCACHE", RAM);
-REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
+REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
 
 bsp_processor_count = DEFINED (bsp_processor_count) ? bsp_processor_count : 2;
 




More information about the vc mailing list