Post Go back to editing

Mix coding for 21569

Hi,

I get some trouble while using mixed programming on 21569.attachment is my project.please help!

'Invoking: CrossCore SHARC Linker'
cc21k -proc ADSP-21569 -si-revision any -TE:/CCES/21569/ASM/mix/system/startup_ldf/app.ldf -no-mem -LE:/CCES/21569/ASM/mix/Debug/system/startup_ldf -flags-link -MDCORE0,-MDDEBUG -add-debug-libpaths -o mix_test.dxe @input-file.txt -flags-link -od,.\.

[Error li1021] The following symbols referenced in processor '21569_CORE0_SHARC0' could not be resolved:
'add2 [add2.]' referenced from 'src\main.doj'

Linker finished with 1 error
cc3089: fatal error: Link failed (code:1)
make: *** [mix_test.dxe] Error 1

Best regards,5807.mix.rar

Binge

Top Replies

  • li1021

    Hi Binge,

    When the compiler generates the assembly version of a C-namespace symbol, it either prepends an underscore or appends a dot to the symbol name.

    Compiling with the -char-size-8…

  • li1021

    Hi Binge,

    When the compiler generates the assembly version of a C-namespace symbol, it either prepends an underscore or appends a dot to the symbol name.

    Compiling with the -char-size-8 switch on processors that support byte-addressing, the asm symbol name will have a dot suffix, otherwise, it will have an underscore prefix.

    For example your assembly function, "_add" should be renamed to "add.", To fix the error.

    Please find the attached updated project which works fine.

    We recommend you to refer in CCES help below for more information on Naming Conventions for Symbols
    CrossCore® Embedded Studio 2.x.x > SHARC® Development Tools Documentation > C/C++ Compiler Manual for SHARC® Processors > Compiler > C/C++ Run-Time Model and Environment > Function Call and Return > Symbol Names in C/C++ and Assembly
    557511.zip

    Regards,
    Nishanthi.V