I am already stuck for many days trying to implement a code in DS-5, targeting Cortex-A9 and using NEON SIMD intrinsics. I managed to execute some small programs through the debugger, but when I am trying to allocate memory bigger than 256KB I always get a message
Description Resource Path Location Type L6221E: Execution region ZI_DATA with Execution range [0x80001674,0x800417d0) overlaps with Execution region ARM_LIB_HEAP with Execution range [0x80040000,0x80080000). CPUTest2017RE C/C++ Problem
The memory map is scheduled by a scatter file as follows
;*******************************************************
; Copyright (c) 2011-2014 ARM Ltd. All rights reserved.
;*******************************************************
; Scatter-file for Cortex-A9 bare-metal example on Versatile Express
; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map.
; Using a scatter-file with ARM_LIB_STACKHEAP eliminates the need to set stack-limit or heap-base in the debugger.
; Versatile Express with Cortex-A9 has 1GB SDRAM at 0x60000000 to 0x9FFFFFFF, which this scatter-file uses.
SDRAM 0x80000000 0x10000000
{
VECTORS +0
{
* (VECTORS, +FIRST) ; Vector table and other (assembler) startup code
* (InRoot$$Sections) ; All (library) code that must be in a root region
}
RO_CODE +0
{ * (+RO-CODE) } ; Application RO code (.text)
RO_DATA +0
{ * (+RO-DATA) } ; Application RO data (.constdata)
RW_DATA +0
{ * (+RW) } ; Application RW data (.data)
ZI_DATA +0
{ * (+ZI) } ; Application ZI data (.bss)
ARM_LIB_HEAP 0x80040000 EMPTY 0x00040000 ; Application heap
{ }
ARM_LIB_STACK 0x80090000 EMPTY -0x00010000 ; Application (SVC mode) stack
{ }
IRQ_STACK 0x800A0000 EMPTY -0x00010000 ; IRQ mode stack
{ }
TTB 0x80100000 EMPTY 0x4000 ; Level-1 Translation Table for MMU
{ }
}
So my problem is that when I allocate memory to pass a 512x512 (.bdat format) Image this allocation happens in ZI_DATA and not in SDRAM that is free. I tried near every configuration and either I get the error above either the debugger stuck on pending... What is the problem here??
PS: the same code was running on Cortex-A8 and older version of DS-5 but for some reason the Cortex-A8 debugger is not working with the newest version of DS-5.