summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-26 07:10:40 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-27 10:59:09 +0200
commit561698315f50258832ad41453318b1dcbd00ed49 (patch)
tree9211182bba6dd8d06945cd22f28f90d696111aa0
parentbsp/imx: Provide a default console (diff)
downloadrtems-561698315f50258832ad41453318b1dcbd00ed49.tar.bz2
bsp/imx: Add nocache section
Update #3090.
-rw-r--r--c/src/lib/libbsp/arm/imx/make/custom/imx7.cfg2
-rw-r--r--c/src/lib/libbsp/arm/imx/startup/bspstart.c5
-rw-r--r--c/src/lib/libbsp/arm/imx/startup/linkcmds.imx77
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 a93919e0ff..059f54937b 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 e28fe2bc48..f715726fb0 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 6cb9fc3f39..750e1def1d 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;