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.

TIDM-02013: Issue when enabling SFRA in 7.4kW OBC project

Part Number: TIDM-02013
Other Parts Discussed in Thread: SFRA, C2000WARE

Tool/software:

Dear expert,

I’m trying to use the SFRA function in the 7.4kW_OBC_F28P65x project from our SDK.

C:\ti\c2000\C2000Ware_DigitalPower_SDK_5_05_01_00\solutions\tidm_02013\f28p65x

After enabling the related macro in the user settings (obc_7_4kw_user_settings.h):

#define OBC_7_4KW_RUN_SFRA_ON_PFC 1

the project fails to build due to an unresolved symbol:

[0]**** Build of configuration RELEASE for project 7.4kW_OBC_F28P65x ****
[1]"C:\\ti\\ccs2010\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 
 
[2]Building file: "../obc_7_4kw.c"
[3]Invoking: C2000 Compiler
[4]"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu0 --vcu_support=vcu2 -O3 --opt_for_speed=5 --fp_mode=relaxed --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/ttplpfc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/clllc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device/driverlib" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/CLAmath" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/SFO" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/DCL" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/sfra" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/utilities" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/power_measurement" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/spll" --include_path="C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --define=_DEBUG --define=_TI_EABI_ --define=CLA_DEBUG=0 --define=F28x_DEVICE --define=CPU1 --define=LARGE_MODEL --define=_FLASH --define=Profiling=0 -g --diag_suppress=10063 --diag_suppress=173 --diag_warning=225 --diag_wrap=off --display_error_number --quiet --abi=eabi --cla_background_task=on -k --asm_listing --preproc_with_compile --preproc_dependency="obc_7_4kw.d_raw"  "../obc_7_4kw.c"
[5]Finished building: "../obc_7_4kw.c"
 
[6]Building file: "../clllc/clllc_clatasks.cla"
[7]Invoking: C2000 Compiler
[8]"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu0 --vcu_support=vcu2 -O3 --opt_for_speed=5 --fp_mode=relaxed --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/ttplpfc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/clllc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device/driverlib" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/CLAmath" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/SFO" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/DCL" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/sfra" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/utilities" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/power_measurement" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/spll" --include_path="C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --define=_DEBUG --define=_TI_EABI_ --define=CLA_DEBUG=0 --define=F28x_DEVICE --define=CPU1 --define=LARGE_MODEL --define=_FLASH --define=Profiling=0 -g --diag_suppress=10063 --diag_suppress=173 --diag_warning=225 --diag_wrap=off --display_error_number --quiet --abi=eabi --cla_background_task=on -k --asm_listing --preproc_with_compile --preproc_dependency="clllc/clllc_clatasks.d_raw" --obj_directory="clllc"  "../clllc/clllc_clatasks.cla"
[9]Finished building: "../clllc/clllc_clatasks.cla"
 
[10]Building file: "../clllc/clllc.c"
[11]Invoking: C2000 Compiler
[12]"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu0 --vcu_support=vcu2 -O3 --opt_for_speed=5 --fp_mode=relaxed --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/ttplpfc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/clllc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device/driverlib" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/CLAmath" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/SFO" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/DCL" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/sfra" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/utilities" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/power_measurement" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/spll" --include_path="C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --define=_DEBUG --define=_TI_EABI_ --define=CLA_DEBUG=0 --define=F28x_DEVICE --define=CPU1 --define=LARGE_MODEL --define=_FLASH --define=Profiling=0 -g --diag_suppress=10063 --diag_suppress=173 --diag_warning=225 --diag_wrap=off --display_error_number --quiet --abi=eabi --cla_background_task=on -k --asm_listing --preproc_with_compile --preproc_dependency="clllc/clllc.d_raw" --obj_directory="clllc"  "../clllc/clllc.c"
[13]Finished building: "../clllc/clllc.c"
 
[14]Building file: "../obc_7_4kw_main.c"
[15]Invoking: C2000 Compiler
[16]"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu0 --vcu_support=vcu2 -O3 --opt_for_speed=5 --fp_mode=relaxed --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/ttplpfc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/clllc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device/driverlib" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/CLAmath" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/SFO" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/DCL" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/sfra" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/utilities" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/power_measurement" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/spll" --include_path="C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --define=_DEBUG --define=_TI_EABI_ --define=CLA_DEBUG=0 --define=F28x_DEVICE --define=CPU1 --define=LARGE_MODEL --define=_FLASH --define=Profiling=0 -g --diag_suppress=10063 --diag_suppress=173 --diag_warning=225 --diag_wrap=off --display_error_number --quiet --abi=eabi --cla_background_task=on -k --asm_listing --preproc_with_compile --preproc_dependency="obc_7_4kw_main.d_raw"  "../obc_7_4kw_main.c"
[17]Finished building: "../obc_7_4kw_main.c"
 
[18]Building file: "../clllc/clllc_hal.c"
[19]Invoking: C2000 Compiler
[20]"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu0 --vcu_support=vcu2 -O3 --opt_for_speed=5 --fp_mode=relaxed --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/ttplpfc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/clllc" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device/driverlib" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/CLAmath" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/SFO" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/DCL" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/sfra" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/utilities" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/power_measurement" --include_path="C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/spll" --include_path="C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --define=_DEBUG --define=_TI_EABI_ --define=CLA_DEBUG=0 --define=F28x_DEVICE --define=CPU1 --define=LARGE_MODEL --define=_FLASH --define=Profiling=0 -g --diag_suppress=10063 --diag_suppress=173 --diag_warning=225 --diag_wrap=off --display_error_number --quiet --abi=eabi --cla_background_task=on -k --asm_listing --preproc_with_compile --preproc_dependency="clllc/clllc_hal.d_raw" --obj_directory="clllc"  "../clllc/clllc_hal.c"
[21]"../clllc/clllc_hal.c", line 583: warning #1181-D: #warning directive: BOARD_PROTECTION_IPRIM is disabled --Not available on F28003x due to IPRIM_TANK CMPSS2 resource conflict
[22]Finished building: "../clllc/clllc_hal.c"
 
[23]Building target: "7.4kW_OBC_F28P65x.out"
[24]Invoking: C2000 Linker
[25]"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu0 --vcu_support=vcu2 -O3 --opt_for_speed=5 --fp_mode=relaxed --define=_DEBUG --define=_TI_EABI_ --define=CLA_DEBUG=0 --define=F28x_DEVICE --define=CPU1 --define=LARGE_MODEL --define=_FLASH --define=Profiling=0 -g --diag_suppress=10063 --diag_suppress=173 --diag_warning=225 --diag_wrap=off --display_error_number --quiet --abi=eabi --cla_background_task=on -k --asm_listing -z -m"7.4kW_OBC_F28P65x.map" --heap_size=0x200 --stack_size=0x3F8 --warn_sections -i"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/lib" -i"C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/device/driverlib/ccs/Release" -i"C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/CLAmath" -i"C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/sfra" -i"C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/FPUfastRTS" -i"C:/Users/a0510004/CCSTheia201 C2000 SDK 505/7.4kW_OBC_F28P65x/libraries/SFO" -i"C:/ti/c2000/C2000Ware_DigitalPower_SDK_5_05_01_00/c2000ware/libraries/calibration/hrpwm/f28p65x/lib" -i"C:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --reread_libs --define=RAM --diag_wrap=off --display_error_number --xml_link_info="7.4kW_OBC_F28P65x_linkInfo.xml" --entry_point=code_start --rom_model -o "7.4kW_OBC_F28P65x.out" "./obc_7_4kw.obj" "./obc_7_4kw_main.obj" "./clllc/clllc.obj" "./clllc/clllc_clatasks.obj" "./clllc/clllc_hal.obj" "./device/device.obj" "./device/f28p65x_codestartbranch.obj" "./libraries/DCL/DCL_DF22_C1.obj" "./libraries/DCL/DCL_PI_C1.obj" "./libraries/DCL/DCL_PI_C4.obj" "./libraries/DCL/DCL_PI_L1.obj" "./libraries/sfra/sfra_gui_scicomms_driverlib.obj" "./ttplpfc/ttplpfc.obj" "./ttplpfc/ttplpfc_hal.obj" "../cmd/28p65x_flash_lnk_shared_cpu1.cmd" "../libraries/CLAmath/cla1_math_library_datarom_fpu32_eabi.lib" "../libraries/FPUfastRTS/rts2800_fpu32_fast_supplement_eabi.lib" "../libraries/sfra/sfra_f64_tmu_eabi.lib"  -ldriverlib.lib -lsfra_f64_tmu_eabi.lib -lcla1_math_library_datarom_fpu32_eabi.lib -lrts2800_fpu32_fast_supplement_eabi.lib -lSFO_v8_fpu_lib_build_c28_driverlib.lib -llibc.a 
 
[26]>> Compilation failure
[27]makefile:172: recipe for target '7.4kW_OBC_F28P65x.out' failed
 
[28] undefined         first referenced
[29]  symbol               in file     
[30] ---------         ----------------
[31] TTPLPFC_setupSFRA ./obc_7_4kw.obj 
 
[32]error #10234-D: unresolved symbols remain
[33]error #10010: errors encountered during linking; "7.4kW_OBC_F28P65x.out" not built
[34]gmake[1]: *** [7.4kW_OBC_F28P65x.out] Error 1
[35]makefile:168: recipe for target 'all' failed
[36]gmake: *** [all] Error 2
[37]**** Build Finished ****

I didn’t modify any source files beyond enabling the above macro.

Could you advise:

• Is there any additional source file or library I should include manually?

• Or is this function expected to be auto-included when enabling the macro?

The example for F280039 is able to run with SFRA but not F28P65. 

Thanks for your helps!

Best regards,

Eric Chen