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.

TMS320F28379D: Self-Test Library application of F2837xD_test_application: Problem building to EABI format

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Diagnostic library and application (f2837xd_test_application) available in C2000ware for F2837xD builds in COFF format. Since we are starting a new product development, for future modifications and considering the COFF future support limitations, I want to build the self test application in EABI format. I have built many applications in EABI format for this DSP Microcontroller. 

I have done modifications as described below for this project to build in EABI format.

1. Since EABI format diagnostic library is not available for F2837xD, I have taken the source of the diagnostic library and built in EABI format separately, the EABI format library file is added to the project.

2. EABI format libraries of the Flash API and SFO libraries. I have ensured that all the libraries used are EABI type. 

3. I have added the 2837xD_FLASH_lnk_cpu1.cmd file which works for EABI format and modified/added memory sections related to the Self Test application.

Application is built. But it is giving following errors. I am not able to get any posts in the forum related to this error, hence I am creating new post. Please help me resolve this problem.

Error:

**** Build of configuration FLASH_RELEASE for project f2837xd_test_application ****

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

Building target: "f2837xd_test_application.out"
Invoking: C2000 Linker
"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O3 --define=_FLASH --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"f2837xd_test_application.map" --heap_size=0x200 --stack_size=0x400 --warn_sections -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/lib" -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="f2837xd_test_application_linkInfo.xml" --rom_model -o "f2837xd_test_application.out" "./F2837xD_CodeStartBranch.obj" "./F2837xD_GlobalVariableDefs.obj" "./device.obj" "./sta_comm.obj" "./sta_defaultisr.obj" "./sta_main.obj" "./sta_pievect.obj" "./sta_tests.obj" "./sta_timer.obj" "./sta_user.obj" "./sta_util.obj" "../2837xD_FLASH_lnk_cpu1-eabi.cmd" "../F021_API_F2837xD_FPU32_EABI.lib" "../F2837xD_Diagnostic_STL_CPU1_RELEASE_EABI.lib" "../F2837xD_Headers_nonBIOS_cpu1.cmd" "../SFO_v8_fpu_lib_build_c28_eabi.lib" "../STA_F2837xD_FLASH_CPU1_CLASWBIST_EABI.cmd" "../driverlib_eabi.lib" -llibc.a
<Linking>
"../STA_F2837xD_FLASH_CPU1_CLASWBIST_EABI.cmd", line 194: warning #10096-D: specified address lies outside memory map
error #10264: DEFAULT memory range overlaps existing memory range RAMD0
error #10264: DEFAULT memory range overlaps existing memory range RAMGS6
error #10264: DEFAULT memory range overlaps existing memory range RAMGS8
error #10264: DEFAULT memory range overlaps existing memory range RAMGS9
error #10264: DEFAULT memory range overlaps existing memory range RAMGS13
error #10264: DEFAULT memory range overlaps existing memory range RAMGS14
error #10264: DEFAULT memory range overlaps existing memory range RAMGS15
error #10264: DEFAULT memory range overlaps existing memory range BEGIN
error #10264: DEFAULT memory range overlaps existing memory range FLASHA
error #10264: DEFAULT memory range overlaps existing memory range FLASHB
error #10264: DEFAULT memory range overlaps existing memory range FLASHC
error #10264: DEFAULT memory range overlaps existing memory range FLASHD
error #10264: DEFAULT memory range overlaps existing memory range FLASHE
error #10264: DEFAULT memory range overlaps existing memory range FLASHF
error #10264: DEFAULT memory range overlaps existing memory range FLASHG
error #10264: DEFAULT memory range overlaps existing memory range FLASHH
error #10264: DEFAULT memory range overlaps existing memory range FLASHI
error #10264: DEFAULT memory range overlaps existing memory range FLASHJ
error #10264: DEFAULT memory range overlaps existing memory range FLASHK
error #10264: DEFAULT memory range overlaps existing memory range FLASHL
error #10264: DEFAULT memory range overlaps existing memory range FLASHM
error #10264: DEFAULT memory range overlaps existing memory range FLASHN
error #10264: DEFAULT memory range overlaps existing memory range RESET
"../STA_F2837xD_FLASH_CPU1_CLASWBIST_EABI.cmd", line 186: warning #10096-D: specified address lies outside memory map
error #10263: DEFAULT memory range has already been specified
error #10264: DEFAULT memory range overlaps existing memory range DEFAULT
error #10264: DEFAULT memory range overlaps existing memory range RAMD0
error #10264: DEFAULT memory range overlaps existing memory range RAMGS6
error #10264: DEFAULT memory range overlaps existing memory range RAMGS8
error #10264: DEFAULT memory range overlaps existing memory range RAMGS9
error #10264: DEFAULT memory range overlaps existing memory range RAMGS13
error #10264: DEFAULT memory range overlaps existing memory range RAMGS14
error #10264: DEFAULT memory range overlaps existing memory range RAMGS15
error #10264: DEFAULT memory range overlaps existing memory range BEGIN
error #10264: DEFAULT memory range overlaps existing memory range FLASHA
error #10264: DEFAULT memory range overlaps existing memory range FLASHB
error #10264: DEFAULT memory range overlaps existing memory range FLASHC
error #10264: DEFAULT memory range overlaps existing memory range FLASHD
error #10264: DEFAULT memory range overlaps existing memory range FLASHE
error #10264: DEFAULT memory range overlaps existing memory range FLASHF
error #10264: DEFAULT memory range overlaps existing memory range FLASHG
error #10264: DEFAULT memory range overlaps existing memory range FLASHH
error #10264: DEFAULT memory range overlaps existing memory range FLASHI
error #10264: DEFAULT memory range overlaps existing memory range FLASHJ
error #10264: DEFAULT memory range overlaps existing memory range FLASHK
error #10264: DEFAULT memory range overlaps existing memory range FLASHL
error #10264: DEFAULT memory range overlaps existing memory range FLASHM
error #10264: DEFAULT memory range overlaps existing memory range FLASHN
error #10264: DEFAULT memory range overlaps existing memory range RESET

undefined first referenced
symbol in file
--------- ----------------
STACK_END ./sta_tests.obj
STL_CLA_copy1stHalfSegment ../F2837xD_Diagnostic_STL_CPU1_RELEASE_EABI.lib<stl_cla.obj>
STL_CLA_copy2ndHalfSegment ../F2837xD_Diagnostic_STL_CPU1_RELEASE_EABI.lib<stl_cla.obj>
STL_CLA_copySegment ../F2837xD_Diagnostic_STL_CPU1_RELEASE_EABI.lib<stl_cla.obj>
STL_CLA_runTest ../F2837xD_Diagnostic_STL_CPU1_RELEASE_EABI.lib<stl_cla.obj>
STL_CLA_seg01Start
STL_CLA_seg02Start
STL_CLA_seg03Start
STL_CLA_seg04Start
STL_CLA_seg05Start
STL_CLA_seg06Start
STL_CLA_seg07Start
STL_CLA_seg08Start
STL_CLA_seg09Start
STL_CLA_seg10Start
STL_CLA_seg11Start
STL_CLA_seg12Start
STL_CLA_seg13Start
STL_CLA_seg14Start
STL_CLA_seg15Start
STL_CLA_seg16Start
STL_CLA_seg17Start
STL_CLA_seg18Start
STL_CLA_seg19Start
STL_CLA_seg20Start
STL_CLA_seg21Start
STL_CLA_seg22Start
STL_CLA_seg23Start
STL_CLA_seg24Start
STL_CLA_seg25Start
STL_CRC_calculate ./sta_tests.obj
STL_CRC_calculateLowBytes ./sta_user.obj
STL_CRC_init ./sta_tests.obj
STL_CRC_reset ./sta_tests.obj
STL_March_testRAM ./sta_tests.obj
STL_March_testRAMCopy ./sta_tests.obj
STL_SEG_RETURN1
STL_SEG_RETURN2
STL_Util_getST1 ../F2837xD_Diagnostic_STL_CPU1_RELEASE_EABI.lib<stl_pie.obj>
_STL_HWBIST_restoreContext
stack ./sta_tests.obj

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "f2837xd_test_application.out" not built

>> Compilation failure
makefile:157: recipe for target 'f2837xd_test_application.out' failed
gmake[1]: *** [f2837xd_test_application.out] Error 1
makefile:153: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

Thanks & Best Regards

Lingaraju

  • Lingaraju,

    From the output it looks like you have not removed/excluded the original linker/.cmd files from the build.  Since you have added EABI compatible linker files you no longer need the old ones.  I think this is why the linker is complaining about overlapping ranges, etc.

    If you have removed/excluded the existing .cmd files from the project, if you could attached the new EABI versions you created I can take a look inside them/try them out here.

    Best,

    Matthew

  • Mathew,

    Thank you for the reply.

    I found the problem and resolved it. Problem was with the Diagnostic library .asm files. Function symbols in these files are written starting with underscore ('_'). But the compiler is generating the library file in EABI format. But symbols in that library file are nothing but in COFF style. Hence, I modified these .asm files and it worked for me.

    Best regards

    Lingaraju

  • Lingaraju,

    Thanks for letting us know, yes EABI removed the "_ " from the asm instructions vs coff.

    Best,

    Matthew