Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ja1
Level 1
Level 1
First reply posted 5 questions asked 5 sign-ins

Hello,

I am curious as to what the REGION_MAP/CORE_SEC functions are doing behind the scenes. I am trying to port the Lcf_Gnuc_Tricore linker script to work with a Clang / LLVM compiler and linker, and these directives are not recognized. Any insight into what this function does would help me be able to write an equivalent script in LLD based linker commands!

*Note: LLVM LLD is / should be compatible with GNU LD.*

Code section(s) in question:

/* map local memory address to a global address */
REGION_MAP( CPU0 , ORIGIN(dsram0_local), LENGTH(dsram0_local), ORIGIN(dsram0))
REGION_MAP( CPU1 , ORIGIN(dsram1_local), LENGTH(dsram1_local), ORIGIN(dsram1))
REGION_MAP( CPU2 , ORIGIN(dsram2_local), LENGTH(dsram2_local), ORIGIN(dsram2))
CORE_ID = CPU0;
    SECTIONS
    {
        CORE_SEC(.ustack) (LCF_DSPR0_START + LCF_USTACK0_OFFSET):
        { PROVIDE(__USTACK0_END = .);    . = . + LCF_USTACK0_SIZE;    PROVIDE(__USTACK0 = .); }
        CORE_SEC(.istack) (LCF_DSPR0_START + LCF_ISTACK0_OFFSET):
        { PROVIDE(__ISTACK0_END = .);    . = . + LCF_ISTACK0_SIZE;    PROVIDE(__ISTACK0 = .); }
        CORE_SEC(.csa) (LCF_DSPR0_START + LCF_CSA0_OFFSET):
        { PROVIDE(__CSA0 = .);    . = . + LCF_CSA0_SIZE;    PROVIDE(__CSA0_END = .); }
    }

Using: Clang TriCore compiler, TC162 architecture (TC 375 Lite kit), LLVM LLD linker script.

Best,

ja1

0 Likes
1 Solution
Yuva
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 100 solutions authored

Hello,

We request you to check with Hightec regarding this topic.

Thanks.

View solution in original post

0 Likes
1 Reply
Yuva
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 100 solutions authored

Hello,

We request you to check with Hightec regarding this topic.

Thanks.

0 Likes