This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Code Composer Studio
Hi,
When I run the SecureHexAIS_OMAP-L138 application I get the following WARNING:
.....
Parsing the input object file, IC401_MAIN_1.02_DemoSW.out.
WARNING: Memory overlap from 0xC0000000 to 0xC00000E7.
Signature Hash: AB-64-A4-BF-0D-39-83-8E-F8-35-1A-9F-F1-B8-F2-12-10-EB-AB-EF-92-E5-D1-4C-47-21-09-28-9D-5C-0C-EA
Signature Byte Count = 111276
AIS file generation was successful.
Wrote 112196 bytes to file IC401_MAIN_1.02_DemoSW.bin.
Conversion is complete.
....
Looking for in the .map file I have:
....
.init_array
* 0 c0000000 00000000 UNINITIALIZED
.vecs 0 c002c000 00000200
c002c000 00000200 app_pe674.oe674 (.vecs)
xdc.meta 0 c0000000 000000e8 COPY SECTION
c0000000 000000e8 app_pe674.oe674 (xdc.meta)
xdc.noload
* 0 c0000000 00000000 COPY SECTION
.text 0 c0000000 00018f20
c0000000 00001c20 voipCom.obj (.text)
c0001c20 00001aa0 system_config.lib : interrupt.obj (.text:retain)
c00036c0 00001940 dspMath.obj (.text)
....
Realy there is a memory overlap at c0000000 to 000000e8 address. How can be this possible? How can I solve it?
When I use the same source code and generate the binary code to a non secure device I dont have any warning and the function located on the adress 0xc0000000 works well but if i load to the secure device the same function fails.
Please help me,
F. Pimenta
Hello,
Which CGT version you are using? There was a bug in the linker prior to v7.3.6 that would cause the linker to create overlapping sections.
Also, please share the full build log and map file, and your linker cmd file.
Regards,
Sahin
Hello,
I use the CGT v8.3.4. As request I share the full build log, map file and the linker cmd file.
I use the linker cmd generated automatically by my platform and also the second one called dsp_main.cmd
Regards,
F. PimentaRequested files.zip
I solved the memory overlap, adding on the board platform a new memory "section" called META in the physical DDR.
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
IROM 11700000 00100000 00000000 00100000 R X
IRAM 11800000 00020000 00008470 00017b90 RW X
L3_CBA_RAM 80000000 00020000 00000000 00020000 RW X
DDR c0000000 08000000 0002d67b 07fd2985 RW X
META c8000000 00008000 00000000 00008000 RW X
and adding on begion of my TI-RTOS config the following lines:
Program.sectMap["xdc.meta"] = new Program.SectionSpec();
Program.sectMap["xdc.meta"].loadSegment = "META";
Program.sectMap["xdc.meta"].type = "COPY";
This solved the warning message.