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.

Compiler/TMS320F28388D: Unable to compiler application code with custom run time libraries

Part Number: TMS320F28388D

Tool/software: TI C/C++ Compiler

Hi TI,

I have created a custom run time library using compiler flags which TI has provided which they have used for creating flash API library using compiler version 18.1.3.LTS and eabi as output format.

The problem I am facing is I am unable to compile these libraries with my application code. I am getting some kind of linker related issue, which you can check in the attached screenshot.

below are the compiler-linker options

In general option, for the run-time support library, I have chosen NONE.

Could you please explain to me why this issue I am facing?

Kindly please help me to fix this bug asap.

Thanks & Regards

Gurusha

  • I'm pretty sure the problem is here ...

    gurusha nahar said:
    I have created a custom run time library using compiler flags which TI has provided which they have used for creating flash API library using compiler version 18.1.3.LTS and eabi as output format.

    Please show how one file from that library is built.  Also show the command used to create the library from the object files.  Please copy-n-paste the text, and do not use a screen shot.

    Thanks and regards,

    -George

  • Hi George,

    I will share the steps below, which may gives you an idea that why I am facing these issues:

    Below is the process of creating run time libraries (Creating ram run time library:)

    1. I have started by creating new project, selecting Static Library as an output type in new CCS project window.
    2. Then I have included the source file which is required in my RAM library
    (Please check the zip folder attached which has all source files)


    3. I have used the following compiler linker flags: -v28 -ml -mt --tmu_support=tmu0 --float_support=fpu32 --include_path="C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-c2000_18.1.3.LTS\include" -k -al -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency --gen_func_subsections=on 
    4. When compiled with these flags, i was able to generate ram library.

    Then I have simply created a new project and included this generated ram library.(I wanted to test one at a time so). Please check the compiler flags selected are V18.1.3.LTS and eabi as an output format. If I choose run time support library as NONE(even excluded libc.a), I will get the following errors below:


    **** Build of configuration Debug for project Project ****

    "C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 

    Building file: "../main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 --include_path="C:/Users/h352524/workspace_v10/Project" --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
    "../main.c", line 13: warning #515-D: a value of type "void *" cannot be assigned to an entity of type "int"
    "../main.c", line 12: warning #552-D: variable "result" was set but never used
    Finished building: "../main.c"

    Building target: "Project.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"Project.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="Project_linkInfo.xml" --rom_model -o "Project.out" "./main.obj" "../2838x_ram_lnk_cpu1.cmd" "../rtl_F28388DRam.lib" -l"C:/Users/h352524/workspace_v10/Project/rtl_F28388DRam.lib" 
    <Linking>
    warning #10208-D: automatic RTS selection: attempt to automatically link in index library "libc.a" failed; file not found
    error #10198-D: no input section is linked in
    warning #10062-D: entry-point symbol "_c_int00" undefined
    warning #10202-D: no suitable entry-point found; setting to 0
    error #10010: errors encountered during linking; "Project.out" not built

    >> Compilation failure
    makefile:142: recipe for target 'Project.out' failed
    gmake[1]: *** [Project.out] Error 1
    makefile:138: recipe for target 'all' failed
    gmake: *** [all] Error 2

    Then after including libc.a, when I am choosing the compiler ti-cgt-c2000_18.1.3.LTS, eabi option and rts2800_fpu32_eabi.lib. we are getting these following warnings:


    **** Build of configuration Debug for project Project ****

    "C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 

    Building file: "../main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/bin/cl2000" -v28 -ml -mt --tmu_support=tmu0 --include_path="C:/Users/h352524/workspace_v10/Project" --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
    "../main.c", line 13: warning #515-D: a value of type "void *" cannot be assigned to an entity of type "int"
    "../main.c", line 12: warning #552-D: variable "result" was set but never used
    Finished building: "../main.c"

    Building target: "Project.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1000/ccs/tools/compiler/bin/cl2000" -v28 -ml -mt --tmu_support=tmu0 -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"Project.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccs1000/ccs/tools/compiler/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="Project_linkInfo.xml" --rom_model -o "Project.out" "./main.obj" "../2838x_ram_lnk_cpu1.cmd" "../rtl_F28388DRam.lib" -l"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/lib/libc.a" 
    <Linking>
    "boot28.asm", line 128: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\lib\rts2800_fpu32_eabi.lib<boot28.asm.obj>", offset = 0x0000000d, section = ".text")
    "boot28.asm", line 133: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\lib\rts2800_fpu32_eabi.lib<boot28.asm.obj>", offset = 0x00000011, section = ".text")
    "boot28.asm", line 263: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\lib\rts2800_fpu32_eabi.lib<boot28.asm.obj>", offset = 0x00000013, section = ".text")
    "boot28.asm", line 264: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\lib\rts2800_fpu32_eabi.lib<boot28.asm.obj>", offset = 0x00000015, section = ".text")
    warning #10015-D: output file "Project.out" cannot be loaded and run on a target system
    Finished building target: "Project.out"

    **** Build Finished ****

    ram_lib.zip



    Please check that I have used the following source file to create the run time library which I have shared.

    also, I have shared the zip folder of the project where I performed these tests.

    7271.Project.zip

    Please check the Project which I have shared and try to help us find out what are these warnings.

    I have also tried to include my flash library, which has the same functionality of rts2800_fpu32_eabi.lib(but contains the library source files of version 18.1.3.LTS compiler), when compiled and tested in this project, giving me the same set of warnings,


    **** Build of configuration Debug for project Project ****

    "C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 

    Building file: "../main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/bin/cl2000" -v28 -ml -mt --tmu_support=tmu0 --include_path="C:/Users/h352524/workspace_v10/Project" --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
    "../main.c", line 13: warning #515-D: a value of type "void *" cannot be assigned to an entity of type "int"
    "../main.c", line 12: warning #552-D: variable "result" was set but never used
    Finished building: "../main.c"

    Building target: "Project.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1000/ccs/tools/compiler/bin/cl2000" -v28 -ml -mt --tmu_support=tmu0 -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"Project.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccs1000/ccs/tools/compiler/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="Project_linkInfo.xml" --rom_model -o "Project.out" "./main.obj" "../2838x_ram_lnk_cpu1.cmd" "../rtl_F28388DRam.lib" "../rts_TMS320F28388D_Flash.lib" 
    <Linking>
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 199: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "../rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x0000000d, section = ".text")
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 204: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "../rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x00000011, section = ".text")
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 334: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "../rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x00000013, section = ".text")
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 335: warning #17001-D: relocation type is not supported (type = 'R_0x14' (0), file = "../rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x00000015, section = ".text")
    warning #10015-D: output file "Project.out" cannot be loaded and run on a target system
    Finished building target: "Project.out"

    The project zip file with added flash run time library is also attached:Project_with_added_flash_lib.zip

    NOTE: Please note that project name may differ as tested in different code composer studio version.

    I want to understand what are these following relocation type warning.

    It seems the compiler 18.1.3 will not support ‘eabi’ format, then how the flash API library TI has provided has the same compiler flags. What are the odds here as compared to other compiler versions?

    Kindly please note that it is very much required for us to use this compiler version with eabi support, to compile with our generated flash and ram library.

    Thanks & Regards

    Gurusha

  • The problem with the first project is this option to the linker ...

    gurusha nahar said:
    -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include"

    This path is to the compiler header files.  The linker needs the path to the libraries.  Change it to end with lib instead of include.  

    The second and third projects have a common problem. The version of the linker must be >= the version of the compiler used to build any file or library seen by the linker.  You are using the version 18.1.3.LTS linker to link code built by a version 20.2.x.LTS compiler.  A later version of the compiler must put things in the object files which the older linker cannot handle.

    There is a related constraint concerning versions.  The version of the linker and the version of the compiler RTS library must match.  The linker makes presumptions about the contents of the RTS library that can only be met by matching the version.  I don't see a case of this constraint being violated in this thread.  But it seems relevant to mention it.

    I noticed another problem in the third project.   In this command ...

    gurusha nahar said:
    Building file: "../main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/bin/cl2000" -v28 -ml -mt --tmu_support=tmu0 --include_path="C:/Users/h352524/workspace_v10/Project" --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"

    The compiler binary and the --include_path directory are from different locations.  I don't see a specific problem that results from this error.  But it is best to fix it anyway.

    Please let me know if these suggestions resolve the problems.

    Thanks and regards,

    -George

  • George,

    I think I have provided you the output of the wrong ccs window.

    Okay, I will repost like this.

    I am using the following compiler and linker flags which are updated in the project settings below:

    -v28 -ml -mt  --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --fp_mode=relaxed --include_path="${PROJECT_ROOT}" --include_path="C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" --advice:performance=all --define=copy_decompress_lzss -g --c99 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --gen_data_subsections=on --ramfunc=on --abi=eabi 

    These are linker options

    -m"${ProjName}.map" --stack_size=0x200 --warn_sections -i"${CG_TOOL_ROOT}/lib" -i"C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" --reread_libs --disable_auto_rts --diag_wrap=off --display_error_number --xml_link_info="${ProjName}_linkInfo.xml" --copy_compression=lzss --ram_model 

    With these settings it should be able to match with my libraries.

    But I am still getting these following warning and hence ended up with error compiling the project:


    **** Build of configuration Debug for project Project1 ****

    "C:\\ti\\ccs920\\ccs\\utils\\bin\\gmake" -k -j 8 all -O

    Building file: "../main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --fp_mode=relaxed --include_path="C:/Users/h352524/workspace_v9_2/Project1" --include_path="C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" --advice:performance=all --define=copy_decompress_lzss -g --c99 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --gen_data_subsections=on --ramfunc=on --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
    "../main.c", line 20: warning #179-D: variable "val" was declared but never referenced
    "../main.c", line 25: warning #552-D: variable "llmin" was set but never used
    "../main.c", line 26: warning #552-D: variable "llsec" was set but never used
    Finished building: "../main.c"

    Building target: "Project1.out"
    Invoking: C2000 Linker
    "C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --fp_mode=relaxed --advice:performance=all --define=copy_decompress_lzss -g --c99 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --gen_data_subsections=on --ramfunc=on --abi=eabi -z -m"Project1.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/lib" -i"C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" --reread_libs --disable_auto_rts --diag_wrap=off --display_error_number --xml_link_info="Project1_linkInfo.xml" --copy_compression=lzss --ram_model -o "Project1.out" "./main.obj" "../2837x_FLASH_lnk_cpu1.cmd" "../rts_TMS320F28388D_Flash.lib" "../rts_TMS320F28388D_RAM.lib"
    <Linking>
    error #10198-D: no input section is linked in
    warning #10440-D: creating output section ".bss" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
    warning #10440-D: creating output section ".const" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
    warning #10440-D: creating output section ".sysmem" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
    warning #10440-D: creating output section ".init_array" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
    warning #10062-D: entry-point symbol "_c_int00" undefined
    warning #10202-D: no suitable entry-point found; setting to 0
    error #10010: errors encountered during linking; "Project1.out" not built

    >> Compilation failure
    makefile:142: recipe for target 'Project1.out' failed
    gmake[1]: *** [Project1.out] Error 1
    makefile:138: recipe for target 'all' failed
    gmake: *** [all] Error 2

    **** Build Finished ****

    Because of these warnings, I am unable to compile the project.

    Can you please can on these specific warnings?

    We even tried with the TI provided libraries to build our project but getting exactly the same warnings.

    Check you please try to compile on your end with V18.1.3.LTS and eabi output format by creating new project and compiling. 

    And if it is compiling, then what major settings we are missing from our hand?

  • I'm not sure what is happening.  I think this ...

    gurusha nahar said:
    error #10198-D: no input section is linked in

    ... is related to ...

    gurusha nahar said:
    warning #10062-D: entry-point symbol "_c_int00" undefined

    You don't link in any RTS library that comes with the compiler.  Instead, you link in ...

    gurusha nahar said:
    "../rts_TMS320F28388D_Flash.lib" "../rts_TMS320F28388D_RAM.lib"

    It must be the case that neither library defines the function _c_int00.  In the RTS library that comes with the compiler, the function _c_int00 is supplied, and it calls the function main in the user's application code.  I presume you supply the function main in ...

    gurusha nahar said:
    "./main.obj"

    Since no function calls main, or any other function in main.obj, the entire file is ignored.  Since it is the only object file that is linked in, this means no input sections are used from the main application.  In effect, there is nothing to link.

    Regarding ...

    gurusha nahar said:
    warning #10440-D: creating output section ".bss" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration

    ... and the other similar diagnostics.  It is OK to ignore them.  For now, focus on the other issues.  That wiki link is incorrect.  Later versions of the compiler link to this page instead.

    Thanks and regards,

    -George

  • Hi George,

    The rts_TMS320F28388D_Flash.lib contains the boot28.asm files, which will take care of the startup function.

    George Mock said:
    It must be the case that neither library defines the function _c_int00.  In the RTS library that comes with the compiler, the function _c_int00 is supplied, and it calls the function main in the user's application code.  I presume you supply the function main in ...

    Also, I think this warning is fine, we can anyway change the entry point symbol in the properties. and this warning will also come when we are using the Ti provided libraries.

    But one major doubt is, if I just include my libraries and remove liked resources of TI based library path and also remove libc.c and select none in the general properties option for run time support library, I am getting these errors:


    Building target: "F28388D_Base_Core1_v1.out"
    Invoking: C2000 Linker
    "C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --tmu_support=tmu0 -Ooff --fp_mode=strict --advice:performance=all --define=CPU1 --define=_FLASH -g --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=eabi -z -m"F28388D_Base_Core1_v1.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include" --reread_libs --define=CPU1 --define=FLASH --display_error_number --xml_link_info="F28388D_Base_Core1_v1_linkInfo.xml" --entry_point=_c_int00 --copy_compression=off --rom_model --include_path="C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/lib " -o "F28388D_Base_Core1_v1.out" "./Source/adc.obj" "./Source/adcmngr.obj" "./Source/c1global.obj" "./Source/cdstrbr.obj" "./Source/cputimer.obj" "./Source/crc.obj" "./Source/dataload.obj" "./Source/delay.obj" "./Source/dttyconv.obj" "./Source/flash.obj" "./Source/fmtconvt.obj" "./Source/gm1admin.obj" "./Source/gm1cnf.obj" "./Source/gpiodrvr.obj" "./Source/main.obj" "./Source/pcfsch.obj" "./Source/pwmtest.obj" "./Source/qrb.obj" "./Source/sci.obj" "./Source/syscntrl.obj" "./Source/tasklist.obj" "./Source/tasksch.obj" "./Source/vector.obj" "../Source/2838x_FLASH_lnk_cpu1.cmd" "../Source/f2838x_headers_nonBIOS_cpu1.cmd" "../Source/rts_TMS320F28388D_Flash.lib" "../Source/rts_TMS320F28388D_FlashAPI.lib" "../Source/rts_TMS320F28388D_RAM.lib"
    <Linking>
    >> WARNING: invalid linker option --include_path=C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/lib (ignored)
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\copy_decompress_none.c", line 112: warning #17001-D:
    relocation type is not supported (type = 'R_0x14' (0), file =
    "../Source/rts_TMS320F28388D_Flash.lib<copy_decompress_none.obj>", offset =
    0x0000000f, section = ".text:decompress:none:__TI_decompress_none")
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 199: warning #17001-D:
    relocation type is not supported (type = 'R_0x14' (0), file =
    "../Source/rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x0000000d,
    section = ".text")
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 204: warning #17001-D:
    relocation type is not supported (type = 'R_0x14' (0), file =
    "../Source/rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x00000011,
    section = ".text")
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 334: warning #17001-D:
    relocation type is not supported (type = 'R_0x14' (0), file =
    "../Source/rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x00000013,
    section = ".text")
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\boot28.asm", line 335: warning #17001-D:
    relocation type is not supported (type = 'R_0x14' (0), file =
    "../Source/rts_TMS320F28388D_Flash.lib<boot28.obj>", offset = 0x00000015,
    section = ".text")
    warning #10015-D: output file "F28388D_Base_Core1_v1.out" cannot be loaded and
    run on a target system
    Finished building target: "F28388D_Base_Core1_v1.out"

    Building files: "F28388D_Base_Core1_v1.out"
    Invoking: C2000 Hex Utility
    "C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/hex2000" -m2 -o "F28388D_Base_Core1_v1.hex" ../../Tools/s2RecordGenTool/HexConversionOfcCore1.cmd
    makefile:173: recipe for target 'F28388D_Base_Core1_v1.hex' failed
    fatal error: cannot open input file
    "../../Tools/s2RecordGenTool/HexConversionOfcCore1.cmd": No such file or
    directory
    gmake[1]: *** [F28388D_Base_Core1_v1.hex] Error 1
    gmake[1]: Target 'secondary-outputs' not remade because of errors.
    makefile:162: recipe for target 'all' failed
    gmake: *** [all] Error 2

    But when I followed the same procedure and compiled my project with V20.2.1.LTS and eabi, it was successfully compiling for my project.

    Why is it so?

    Why it is giving me such relocation issues now?

    Please could you give me some ideas?

    Thanks & Regards

    Gurusha

     

  • Regarding this problem ...

    gurusha nahar said:
    "C:\Users\h352524\Desktop\RTL_Stuff_F28388D\CRTL_Library_V18.1.3.LTS\flash_lib\copy_decompress_none.c", line 112: warning #17001-D:
    relocation type is not supported (type = 'R_0x14' (0), file =
    "../Source/rts_TMS320F28388D_Flash.lib<copy_decompress_none.obj>", offset =
    0x0000000f, section = ".text:decompress:none:__TI_decompress_none")

    I looked at the rts_TMS320F28388D_Flash.lib that is in one of the CCS projects attached to a post earlier in this thread.  By using this command ...

    % ofd2000 rts_TMS320F28388D_Flash.lib | findstr /c:"Assembler Version"
        Assembler Version:       20.2.1
        Assembler Version:       20.2.1
        Assembler Version:       20.2.1
    ...

    I can tell this library is built with compiler version 20.2.1.LTS.  Yet this link uses an older linker version 18.1.3.LTS.  This combination is not supported.  The version of the linker must be >= the version of the compiler used to compile any file or library seen by the linker.  In this particular case, the 20.2.1.LTS compiler must use a relocation that the version 18.1.3.LTS linker does not recognize.

    The fix is to either rebuild the library with compiler version 18.1.3.LTS, or use a linker of version 20.2.1.LTS or higher.

    Thanks and regards,

    -George