XTC14.4.1 linker duplicate symbol across tiles

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
fabriceo
Respected Member
Posts: 266
Joined: Mon Jan 08, 2018 4:14 pm

XTC14.4.1 linker duplicate symbol across tiles

Post by fabriceo »

Hello,
I m facing a memory size problem on my XU216 application and I ve just realised that the "usb buffer" array is duplicated on the tile 0 and tile 1 during linkage...
the symbol appears in the MAPFILE at 2 different lines for tile0 and tile1 and of course 2 different address.
something like:
0x00057168 g O .dp.bss 0x00004464 usbfifo_OUTA
0x00052d00 g O .dp.bss 0x00004464 usbfifo_INA
and for the other tile:
0x00077a40 g O .dp.bss 0x00004464 usbfifo_OUTA
0x000735d8 g O .dp.bss 0x00004464 usbfifo_INA

doing some intensive search across files and generated assembly, I m 100% sure that no any reference or pointer or direct access exist in the audio tile0 to this arrays of course.
Also there are no function accessing the arrays that are shared across the tiles...
I ve tried many thing like declaring the arrays in other files, C or XC, or in other modules ... no change : the array appears twice and take memories on each tile...

can someone explain the exact behaviour of the linker here and what trick could be used to avoid the situation ?


Many thanks
fabriceo