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.

warning: no suitable entry-point found; setting to 0



Hi Team,

1. I am trying to build the solution in EABI mode using makefile.

2. I first created obect files for all the c files using cl6x executable (C:\ti\ccsv6\tools\compiler\ti-cgt-c6000_8.1.0\bin\cl6x)

3. For building the solution in EABI mode I am using the linker lnk6x (C:\ti\ccsv6\tools\compiler\ti-cgt-c6000_8.1.0\bin\lnk6x)

4. I am able to get the solution file (.out) with a warning message
warning: no suitable entry-point found; setting to 0

5. It looks like the linker is not able to search for main function and thus I am unable to load the solution.


I referred through the links :
processors.wiki.ti.com/.../10202
processors.wiki.ti.com/.../C6000_EABI_Migration
e2e.ti.com/.../131810

Above link suggests that this is an issue with EABI mode. To resolve this we need to add symbol .global RESET in the assembly file and update CCS project linker options to indicate the --entry_point as RESET.

In my case I am not using assembly file instead I am using makefile for compiling C files and linking using linker 

Can you please help me in, to give more insight on how the linker works for EABI mode and to resolve the issue.

Thanks and Regards,
Palachandra M V

  • Palachandra Venkataraju said:
    3. For building the solution in EABI mode I am using the linker lnk6x (C:\ti\ccsv6\tools\compiler\ti-cgt-c6000_8.1.0\bin\lnk6x)

    Never invoke the linker directly.  The interface is not documented, and subject to change at any time.   Always invoke it through the compiler shell cl6x.

    When linking C or C++ code, you must use the linker option --rom_model or --ram_model. Read about those options in the C6000 compiler manual.  If you are unsure of which option is best, use --rom_model.  It is the best choice for most situations, and works correctly (though less efficiently) in other situations.  These options tell the linker to abide by conventions for linking C/C++ code, including the convention that the entry point is a function named c_int00 (which comes from the compiler RTS library).

    Thanks and regards,

    -George

  • Hi George,

    I have enabled  the option --rom_model during linking. Able to build the sln.out and run on the target. Thank you for your help.

    Regards,
    Palachandra M V
    www.pathpartnertech.com