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.

TMS320F28386D: Link two libraries with a DATA_SECTION in it

Part Number: TMS320F28386D


Tool/software:

Hello, I have two libs I have created successfully using C2000 Archiver (v22.6.1) : libA.lib and libB.lib

In libB.lib there is an object CmpCartridge_Public.obj containing some const tables declared in a specific sections as follows:

#pragma DATA_SECTION(CART_ENTRY_POINT,"CART_SECT_ENTRY_POINT")
const uint32_t CART_ENTRY_POINT = (uint32_t)(&CMPCARTRIDGE_G_CART_BOOT_ADDR_VAL_U32);

#pragma DATA_SECTION(c_CmpCartridge_G_CsciCartridge_s,"CART_SECT_IDENTIFICATION")
const ts_CmpCartridge_G_CartridgeSub c_CmpCartridge_G_CsciCartridge_s = { ... };

In a linker project that inludes both libraries libA.lib and libB.lib, I have created a section:

SECTIONS
{

CART_SECT :
{
COM_BS.lib<CtlBoot_CodeStart.obj> (codestart) {START(_CMPCARTRIDGE_G_CART_BOOT_ADDR_VAL_U32)}
COM_BS.lib<CmpCartridge_Public.obj> (CART_SECT_CRC32)
COM_BS.lib<CmpCartridge_Public.obj>(CART_SECT_START_ADDR)
COM_BS.lib<CmpCartridge_Public.obj>(CART_SECT_SIZE)
COM_BS.lib<CmpCartridge_Public.obj>(CART_SECT_ENTRY_POINT)
COM_BS.lib<CmpCartridge_Public.obj>(CART_SECT_IDENTIFICATION)
} > CARTRIDGE, ALIGN(2)

...

}

But I have following warning during compilation: #10068-D no matching section

normally I shall have the following in .map file:

CART_SECT
* 0 00080000 00000080
00080000 00000002 CtlBoot_CodeStart.obj (codestart)
00080002 00000002 CmpCartridge_Public.obj (CART_SECT_CRC32)
00080004 00000002 CmpCartridge_Public.obj (CART_SECT_START_ADDR)
00080006 00000002 CmpCartridge_Public.obj (CART_SECT_SIZE)
00080008 00000002 CmpCartridge_Public.obj (CART_SECT_ENTRY_POINT)
0008000a 00000076 CmpCartridge_Public.obj (CART_SECT_IDENTIFICATION)

But I get the following:

CART_SECT
* 0 00080000 00000002
00080000 00000002 COM_BS.lib : CtlBoot_CodeStart.obj (codestart)

I cannot understand why the linker cannot get the section in libB.lib ? It works with CODE_SECTION symbols, but not for DATA_SECTION ones...

Any clues from the TI experts ? I am stuck for two days now and it is a little bit frustating...

Thanks by advance for the answers.