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: Safety Diagnostic Library

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Hi

I am using the MCU for my product design and output format is eabi with package C2000Ware and Digital Power SDK 5.0,1.

We are going to use a TI Safety Diagnostic Library with the link https://www.ti.com/tool/C2000-SAFETI-DIAGNOSTICS-LIB

I have a couple of questions

1. The package is in legacy COFF output format. Is there are any package in eabi?

2. Does the package is UL certificated?

3. Please find attached UL certification. Does it cover the package?swaq003.pdf

  • 1. We do not yet have a version compatible with the newer C2000Ware and EABI, but you should be able to port it. There are some tips in this page about migrating from COFF to EABI that should help with the assembly files. As for the migration from 1.00.01 to 5.01.00, there are a few code changes that will be needed. I don't have a list on hand, but the main one I recall is that the IPC and CAN interrupts were renumbered in driverlib inc/hw_ints.h, and so those will need to be updated in the code.

    2. and 3. No, this package is not certified. That UL certificate is applicable to the self-test libraries for several other C2000 devices. However the F2837x package does contain a compliance support package with documents that may assist you in your own certification.

    Whitney

  • Hi Whitney

    I found that there is a project call "f2837xd_diagnostic_library" under C:\ti\C2000Ware_1_00_01_00\libraries\diagnostic\f2837xd\examples

    I had done some experiment as below steps

    1.I changed a output format to eabi

    2.Add pre-defined symbols as below screen shots

    3.Compile "f2837xd_diagnostic_library" without error and successfully.

    4. Copy the compiled SDL library file from step 3 and all  sta*.c/sta*.h/stl*.h from project "f2837xd_test_application" and directory "C:\ti\C2000Ware_1_00_01_00\libraries\diagnostic\f2837xd\include" to my application project

    5. Compile my application is not problem.

    6. Add a function  STA_Comm_transmitData(STA_Tests_testDevice(STA_Tests_testArray[0])); in my application project for testing. There are a lot of error during compiling. Please find attached log file for reference.

    Please advise my procedures are correct or not. Any suggestion for my problem

    **** Build of configuration FLASH for project titan_dab_F2837x ****
    
    "C:\\ti\\ccs1260\\ccs\\utils\\bin\\gmake" -k -j 22 all -O 
     
    Building target: "titan_dab_F2837x.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1260/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --opt_for_speed=5 --fp_mode=relaxed --fp_reassoc=on --advice:performance=all --define=FALSE=1 --define=TRUE=1 --define=CLA_DEBUG=1 --define=_DEBUG --define=_FLASH --define=F28x_DEVICE --define=CPU1 --define=LARGE_MODEL --define=debug -g --float_operations_allowed=32 --diag_suppress=10063 --diag_suppress=173 --diag_warning=225 --diag_wrap=off --display_error_number --quiet --abi=eabi -k --asm_listing -z -m"titan_dab_F2837x.map" --heap_size=0x200 --stack_size=0x380 --warn_sections -i"C:/ti/ccs1260/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/lib" -i"C:/Users/hkwoo/OneDrive/Documents/Projects/Tatin/titan_dab_F2837x/libraries/sfra" -i"C:/Users/hkwoo/OneDrive/Documents/Projects/Tatin/titan_dab_F2837x/libraries/fpu32" -i"C:/Users/hkwoo/OneDrive/Documents/Projects/Tatin/titan_dab_F2837x/libraries/SDL" -i"C:/Users/hkwoo/OneDrive/Documents/Projects/Tatin/titan_dab_F2837x/libraries/CLAmath" -i"C:/Users/hkwoo/OneDrive/Documents/Projects/Tatin/titan_dab_F2837x/libraries/FPUfastRTS" -i"C:/Users/hkwoo/OneDrive/Documents/Projects/Tatin/titan_dab_F2837x/libraries/SFO" -i"C:/Users/hkwoo/OneDrive/Documents/Projects/Tatin/titan_dab_F2837x/device/driverlib" -i"C:/ti/ccs1260/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="titan_dab_F2837x_linkInfo.xml" --entry_point=code_start --rom_model -o "titan_dab_F2837x.out" "./can_api.obj" "./can_app.obj" "./dab.obj" "./dab_clatask.obj" "./dab_general.obj" "./dab_hal.obj" "./dab_main.obj" "./dab_protect.obj" "./dab_state.obj" "./sta_comm.obj" "./sta_defaultisr.obj" "./sta_pievect.obj" "./sta_tests.obj" "./sta_timer.obj" "./sta_user.obj" "./sta_util.obj" "./device/F2837xD_CodeStartBranch.obj" "./device/device.obj" "./libraries/DCL/DCL_DF22_C1.obj" "./libraries/DCL/DCL_DF22_C2C3.obj" "./libraries/DCL/DCL_PI_C1.obj" "./libraries/DCL/DCL_PI_C4.obj" "./libraries/DCL/DCL_PI_C7.obj" "./libraries/DCL/DCL_PI_L1.obj" "./libraries/DCL/DCL_clamp_C1.obj" "./libraries/sfra/sfra_gui_scicomms_driverlib.obj" "../2837xD_FLASH_lnk_cpu1.cmd" "../device/driverlib/driverlib_eabi.lib" "../libraries/CLAmath/cla1_math_library_fpu32_eabi.lib" "../libraries/FPUfastRTS/rts2800_fpu32_fast_supplement_eabi.lib" "../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib" "../libraries/SFO/SFO_v8_fpu_lib_build_c28_driverlib_eabi.lib" "../libraries/fpu32/F021_API_F2837xD_FPU32_EABI.lib" "../libraries/sfra/sfra_f32_tmu_eabi.lib"  -lF2837xD_Diagnostic_STL_CPU1_DEBUG.lib -lF021_API_F2837xD_FPU32_EABI.lib -ldriverlib_eabi.lib -lsfra_f32_tmu_eabi.lib -lcla1_math_library_fpu32_eabi.lib -lrts2800_fpu32_fast_supplement_eabi.lib -lSFO_v8_fpu_lib_build_c28_driverlib_eabi.lib -llibc.a 
     
    >> Compilation failure
    makefile:198: recipe for target 'titan_dab_F2837x.out' failed
    process_begin: CreateProcess(NULL, git describe --always --dirty=+ --abbrev=7, ...) failed.
    gmake: ../makefile.init:1: pipe: No error
    process_begin: CreateProcess(NULL, git describe --always --dirty=+ --abbrev=7, ...) failed.
    gmake[1]: ../makefile.init:1: pipe: No error
    warning #10247-D: creating output section "dmatest" without a SECTIONS specification
    warning #10247-D: creating output section "d1ram" without a SECTIONS specification
    warning #10247-D: creating output section "ls3ram" without a SECTIONS specification
     
     undefined                  first referenced                                                      
      symbol                        in file                                                           
     ---------                  ----------------                                                      
     EPwm1Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     EPwm2Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     EPwm3Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     EPwm4Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     EPwm5Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     EPwm6Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     EPwm7Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     EPwm8Regs                  ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_osc_hr.obj>
     MemCfg_setLSRAMMasterSel   ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     STL_CLA_copy1stHalfSegment ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     STL_CLA_copy2ndHalfSegment ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     STL_CLA_copySegment        ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     STL_CLA_runTest            ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     STL_March_testRAM          ./sta_tests.obj                                                       
     STL_March_testRAMCopy      ./sta_tests.obj                                                       
     STL_Util_getST1            ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_pie.obj>   
     Seg01LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg01LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg02LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg02LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg03LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg03LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg04LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg04LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg05LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg05LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg06LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg06LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg07LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg07LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg08LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg08LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg09LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg09LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg10LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg10LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg11LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg11LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg12LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg12LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg13LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg13LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg14LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg14LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg15LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg15LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg15Return1LoadSize       ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg15Return1LoadStart      ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg15Return2LoadSize       ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg15Return2LoadStart      ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg16LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg16LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg17LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg17LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg18LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg18LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg19LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg19LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg20LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg20LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg21LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg21LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg22LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg22LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg23LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg23LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg24LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg24LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg25LoadSize              ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     Seg25LoadStart             ../libraries/SDL/F2837xD_Diagnostic_STL_CPU1_DEBUG.lib<stl_cla.obj>   
     _STACK_END                 ./sta_tests.obj                                                       
     _stack                     ./sta_tests.obj                                                       
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "titan_dab_F2837x.out" not built
    gmake[1]: *** [titan_dab_F2837x.out] Error 1
    gmake[1]: Target 'secondary-outputs' not remade because of errors.
    gmake: *** [all] Error 2
    makefile:194: recipe for target 'all' failed
    
    **** Build Finished ****
    

  • Can you import the test application for the SDL and use it as a reference to help figure out what you may be missing? For example, I think those EpwmxRegs are missing because you don't have either F2837xD_Headers_nonBIOS_cpu1.cmd or F2837xD_GlobalVariableDefs.c in your project. Those SegxxLoadSize, etc... errors are probably because you don't have STA_F2837xD_FLASH_CPU1_CLASWBIST.cmd in the project.

    _STACK_END and _stack have new names in EABI. You should use something like below to initalize the STL_SP object.

        STA_User_spObj.startAddress = (uint32_t)_symval(&__stack);
        STA_User_spObj.endAddress = (uint32_t)_symval(&__TI_STACK_END);

    Whitney