From 561698315f50258832ad41453318b1dcbd00ed49 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 26 Sep 2017 07:10:40 +0200 Subject: 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 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 #include #include +#include #include @@ -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; -- cgit v1.2.3