Hello
I'm new to the LDF format for ADSP-21584.
I have an object "DataGlobal" that compiles without problems.
I would like to load this object in a shared memory block accessible from SHARC1 and SHARC2.
I've tried to create a SHARED_MEMORY segment in the LDF file
$EXTERNAL_OBJECTS = Common/DataGlobal.doj;
and below the MEMORY block I've added:
SHARED_MEMORY
{
OUTPUT($COMMAND_LINE_OUTPUT_DIRECTORY\SHARED.sm)
$OBJECTS_EXTERNAL = $EXTERNAL_OBJECTS;
SECTIONS
{
DataGlobal
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS_EXTERNAL(DataGlobal))
} > mem_L2B1P3_bw
}
}
And inside PROCESSOR 21584_CORE_1 I've added:
LINK_AGAINST($COMMAND_LINE_OUTPUT_DIRECTORY\SHARED.sm)
This is obviously not enough since the linker still reports:
[Warning li2060] The following input section(s) that contain program code
and/or data have not been placed into the executable for processor '21584_CORE_1'
as there are no relevant commands specified in the LDF:
Common/DataGlobal.doj(DataGlobal)
Followed by [Error li1060] The following symbols are referenced, but not mapped...
What am I missing?
Ideally I would like to create my own memory block inside the MEMORY block, something like
MSData { TYPE(BW RAM) START(0x20090000) END(0x20097fff) WIDTH(8) }
But this only results in similar error codes.
Please advice on which steps are necessary to successfully map objects into memory - and how to enable sharing of memory segments between SHARC1 and SHARC2 on ADSP-21584.
Thanks