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.

TMS320F28P550SJ: 使用TMS320F28P550SJ做RFFT计算时遇到问题

Part Number: TMS320F28P550SJ
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

您好!

我在将F28P55x_rfft_fpu32历程迁移到自己的工程文件时编译出现如下所示问题:

[179]Building target: "AMBCtrl_200_S.out"
[180]Invoking: C2000 Linker
[181]"D:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu1 --vcu_support=vcrc --fp_mode=relaxed --define=DEBUG --define=_FLASH --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"AMBCtrl_200_S.map" --heap_size=0x100 --stack_size=0x200 --warn_sections -i"D:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/lib" -i"D:/ti/c2000/C2000Ware_5_04_00_00" -i"F:/codes/16AMBCtrl/AMBCtrl_200_S/AMBCtrl_200_S/CPU1_FLASH/syscfg" -i"D:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" -i"D:/ti/c2000/C2000Ware_5_04_00_00/libraries/dsp/FPU/c28/lib" --reread_libs --define=_FLASH --define=RFFT_ALIGN=4096 --diag_wrap=off --display_error_number --xml_link_info="AMBCtrl_200_S_linkInfo.xml" --entry_point=code_start --rom_model -o "AMBCtrl_200_S.out" "./AP_CtrlAlgorithm.obj" "./AP_PSensor.obj" "./AP_RFFT.obj" "./AP_USB.obj" "./PE_CLA.obj" "./PE_EEPROM.obj" "./PE_ExINT.obj" "./PE_cputimers.obj" "./syscfg/board.obj" "./syscfg/device.obj" "./syscfg/device_cmd.obj" "./syscfg/c2000ware_libraries.obj" "./syscfg/usb_structs.obj" "./f28p55x_codestartbranch.obj" "./compensator.obj" "./i2cLib_FIFO_polling.obj" "./main.obj" "D:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f28p55x/driverlib/ccs/Debug/driverlib.lib" -l"syscfg/device_cmd.cmd" -lc2000ware_libraries.cmd.genlibs -ldevice_cmd.cmd.genlibs -lboard.cmd.genlibs -llibc.a -lc28x_fpu_dsp_library.lib
[182]<Linking>
[183]warning #10204-D: could not resolve index library "c28x_fpu_dsp_library.lib" to a compatible library

[184] undefined first referenced
[185] symbol in file
[186] --------- ----------------
[187] RFFT_f32_sincostable ./syscfg/c2000ware_libraries.obj

[188]error #10234-D: unresolved symbols remain
[189]error #10010: errors encountered during linking; "AMBCtrl_200_S.out" not built

[190]>> Compilation failure
[191]makefile:155: recipe for target 'AMBCtrl_200_S.out' failed
[192]gmake[1]: *** [AMBCtrl_200_S.out] Error 1
[193]makefile:151: recipe for target 'all' failed
[194]gmake: *** [all] Error 2
[195]**** Build Finished

例程中没有RFFT_f32_sincostabled的定义,fpu_rfft.h中定义了

extern void RFFT_f32_sincostable(RFFT_F32_STRUCT_Handle hndRFFT_F32);
程序引用了fpu_rfft.h,但还是报上述故障,请问是什么原因导致的?例程没有这个问题。
  • 您好

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待

  • 您好,

    warning #10204-D: could not resolve index library "c28x_fpu_dsp_library.lib" to a compatible library

           应该是兼容问题。

           您工程中所有引用的库都是支持FPU的吗(floating-point libraries)

  • 我发现在F28P55x_rfft_fpu32例程中加入USB功能就会出现类似问题,如下:

    [77]Building target: "F28P55x_rfft_fpu32.out"
    [78]Invoking: C2000 Linker
    [79]"D:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --define=DEBUG --define=RAM --define=generic_ram_lnk --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"F28P55x_rfft_fpu32.map" --heap_size=0x100 --stack_size=0x200 --warn_sections -i"D:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/lib" -i"D:/ti/c2000/C2000Ware_5_04_00_00" -i"F:/codes/16AMBCtrl/AMBCtrl_200_S/F28P55x_rfft_fpu32/CPU1_RAM/syscfg" -i"D:/ti/ccs2010/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --reread_libs --define=RAM --define=generic_ram_lnk --diag_wrap=off --display_error_number --xml_link_info="F28P55x_rfft_fpu32_linkInfo.xml" --entry_point=code_start --rom_model -o "F28P55x_rfft_fpu32.out" "./syscfg/board.obj" "./syscfg/device.obj" "./syscfg/device_cmd.obj" "./syscfg/c2000ware_libraries.obj" "./syscfg/usb_structs.obj" "./f28p55x_codestartbranch.obj" "./dsp_rfft_fpu32_f28p55x.obj" -l"syscfg/device_cmd.cmd" -lc2000ware_libraries.cmd.genlibs -lboard.cmd.genlibs -llibc.a
    [80]<Linking>
    [81]warning #10204-D: could not resolve index library "c28x_fpu_dsp_library.lib" to a compatible library
    [82]warning #10229-D: output section ".data.2" refers to load symbol "RxHandler" and hence cannot be compressed; compression "lzss" is ignored

    [83] undefined first referenced
    [84] symbol in file
    [85] --------- ----------------
    [86] ControlHandler ./syscfg/usb_structs.obj
    [87] RFFT_f32 ./dsp_rfft_fpu32_f28p55x.obj
    [88] RFFT_f32_mag_TMU0 ./dsp_rfft_fpu32_f28p55x.obj
    [89] RFFT_f32_phase_TMU0 ./dsp_rfft_fpu32_f28p55x.obj
    [90] RFFT_f32_sincostable ./syscfg/c2000ware_libraries.obj
    [91] RxHandler ./syscfg/usb_structs.obj
    [92] TxHandler ./syscfg/usb_structs.obj
    [93] __c28xabi_dtof ./dsp_rfft_fpu32_f28p55x.obj
    [94] __c28xabi_ftod ./dsp_rfft_fpu32_f28p55x.obj

    [95]error #10234-D: unresolved symbols remain
    [96]error #10010: errors encountered during linking; "F28P55x_rfft_fpu32.out" not built

    [97]>> Compilation failure
    [98]makefile:142: recipe for target 'F28P55x_rfft_fpu32.out' failed
    [99]gmake[1]: *** [F28P55x_rfft_fpu32.out] Error 1
    [100]makefile:138: recipe for target 'all' failed
    [101]gmake: *** [all] Error 2
    [102]**** Build Finished

    请问F28P55x中RFFT和USB不能同时使用吗?我之前在28377S中同时使用过RFFT和USB没有问题。

  • 您好, 

        输出模式是COFF还是EABI?   工程中包含的驱动库和软件库需要统一格式。

        对于此芯片,C2000ware中提供的是EABI格式的驱动库

        C2000 Migration from COFF to EABI

  • 我使用的CCS20.1.0找不到output format了,如下:

    请问如何知道output format 是COFF还是EABI?

    我通过如下步骤建立工程:

    1、导入C2000Ware_5_04_00_00\driverlib\f28p55x\examples里面的empty_sysconfig_128pdt.

    2、拷贝自己的.c .h文件进入工程,拷贝自己编辑的sysconfig文件

    3、设置include search path

  • c2000 compiler flags 中的--abi=eabi ,是否表示output format是EABI?

  • 您好,

    c2000 compiler flags 中的--abi=eabi ,是否表示output format是EABI?

        是的。