When I create a project of RA2E1 or RA2L1 and proceed, an error (x) is displayed in the fsp.ld file.
It seems that there is no effect on the build or debug, but is there a solution to the error(x) display?
/* If a flat (secure) project has DEFINED RAM_NS_BUFFER_LENGTH, then emit IDAU symbols to allocate non-secure RAM. */__RESERVE_NS_RAM = !DEFINED(PROJECT_NONSECURE) && DEFINED(RAM_NS_BUFFER_LENGTH);
RAM_NS_BUFFER_BLOCK_LENGTH = DEFINED(RAM_NS_BUFFER_LENGTH) ? ALIGN(RAM_NS_BUFFER_LENGTH, 8192) : 0;RAM_NS_BUFFER_LENGTH = DEFINED(RAM_NS_BUFFER_LENGTH) ? RAM_NS_BUFFER_LENGTH : 0;RAM_NS_BUFFER_START = RAM_START + RAM_LENGTH - RAM_NS_BUFFER_LENGTH;RAM_NS_BUFFER_BLOCK_START = RAM_START + RAM_LENGTH - RAM_NS_BUFFER_BLOCK_LENGTH;
OPTION_SETTING_START_NS = 0x0100A180;
PROJECT_SECURE_OR_FLAT = !DEFINED(PROJECT_NONSECURE) && OPTION_SETTING_LENGTH;
I added this two lines into memory_regions.ld
PROJECT_NONSECURE = 1;RAM_NS_BUFFER_LENGTH = 0;
and in fsp.ld, I change every
!DEFINED(PROJECT_NONSECURE) to (PROJECT_NONSECURE==0)
This is caused by the CODAN (static code analysis/indexer) in e2studio not understanidng the syntax used in the linker script, the tools development team are aware of the issue and are investigating.
DEFINED(RAM_NS_BUFFER_LENGTH) to (RAM_NS_BUFFER_LENGTH != 0)
this will remove the code analysis warning. You have to make fsp.ld and memory_regions.ld read-only
Dont think its worth the effort just to remove this warning.
The error can be safely ignored, as the compiler/linker builds the project sucessfully.
I understood this issue.
Because this errors, when you try to use the graphical linker editor, you can't because it asks you to correct the errors before continuing. Is there any workaround, please?
Have you tried updating e2studio to 2021-10?
Thank you, I'm going to try (I am working with 2021-07).
I've tried but unfortunately with 2021-10 the error still remains...
An easy fix is to replace all "!DEFINED" with "! DEFINED" in the file. The parser just needs a space between ! and DEFINED.