Hi, I'm testing my applications (on the XE167 family) that has some modules that require to be relocated and run in RAM.
I followed AN138 and everything is fine for just one module; if I try to select more than one module file for relocation, then come trouble.
Following inline help and AN with this directive it should select the two module for RAM execution, then place it into SROM class. It is, but the execution addresses will overlap, as the linker restart execution address for the second module at 0xE00000 instead of starting from the address in which end the first one.
SECTIONS( ?PR?INT64FUNCTIONS%INT64_FCODE (0xE00000)[], & ?PR?TASKSCHEDULER%INT64_FCODE (0xE00000)[])
This is the resulting warning:
*** WARNING L4: MEMORY SPACE OVERLAP FROM: E00000H.0 TO: E0022CH.0
Other combinations of this directive (with and without square bracket, with and without execution address for the second module) will not work at all.
I know, a workaround is manually writing the start address for the second module to be at the end of the first module, but this should be a job for the linker...
Thank you, regards