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.

TMS320F28388D: Issue in linker with Command line compilation without using CCS

Part Number: TMS320F28388D

hello, 

I am using F28388D controller, i am currently using CCS IDE and performing the compilation activity and generating the build. But i want to switch to command based compilation so that i dont have to open the IDE

In the Batch file i have provided the commands to compile and link, 

::CompileOption

@set COM_FLAGS=-v28 -ml -mt --float_support=fpu32 -i "%BUILD_SOURCE%" --advice:performance=all -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi

::LinkerOptions

@set LINK_FLAGS= --stack_size=0x350 --reread_libs --disable_auto_rts --entry_point=code_start --cinit_compression=off --rom_model --zero_init=off
@echo on

::----------------------------------------------------------------------------
:: Linker Build
::----------------------------------------------------------------------------
@cl2000 -v28 -z %LINK_FLAGS% -m"%BUILD_OBJ%\Project.map" -o"%BUILD_OBJ%\Project.out" %BUILD_OBJ%\*.obj -i"%BUILD_SOURCE%" "%BUILD_SOURCE%\rts_TMS320F28388D_Flash.lib" -l"%BUILD_SOURCE%\rts_TMS320F28388D_FlashAPI.lib" "%BUILD_SOURCE%\rts_TMS320F28388D_RAM.lib" "%BUILD_SOURCE%\f2838x_headers_nonBIOS_cpu1.cmd" "%BUILD_SOURCE%\2838x_FLASH_lnk_cpu1_GBL.cmd"

the Linker cmd file is updated to place the Flash_Api lib in RAM as below 

GROUP
{
ramfuncs
{ -l rts_TMS320F28388D_FlashAPI.lib}
} LOAD = FLASH0 | FLASH1 | FLASH2 | FLASH3,
RUN = RAMLS01 ,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
ALIGN(8)

When i perform the linker option from the above batch script i get the below error, the same is successful in CCS, can you please let me know what is the issue

thanks,

Nagesh

  • Nagesh,

    Our compiler expert is out today and will return on Monday.  Basically it looks like linker is not able to find the library that includes those "Ramfuncs..." functions.  

    A more simple option to building from the command line might be to use your CCS project and then use the command line build feature.

    https://software-dl.ti.com/ccs/esd/documents/ccs_projects-command-line.html

    Regards,

    John

  • When i perform the linker option from the above batch script i get the below error, the same is successful in CCS, can you please let me know what is the issue

    The only explanation I can come up with is ... You don't use the same linker command file in each link.  In the link from the batch script, that linker command file must not have these lines ...

    LOAD_START(RamfuncsLoadStart),
    LOAD_SIZE(RamfuncsLoadSize),
    LOAD_END(RamfuncsLoadEnd),
    RUN_START(RamfuncsRunStart),
    RUN_SIZE(RamfuncsRunSize),
    RUN_END(RamfuncsRunEnd),

    Please check on this detail.

    Thanks and regards,

    -George