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.

[参考译文] TMS320F2.8379万D:使用VCU2和amp执行RFFT;C28x_vcu2_library_fpu32库存在问题。

Guru**** 2535150 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1090843/tms320f28379d-performing-rfft-with-vcu2-having-issue-with-the-c28x_vcu2_library_fpu32-library

部件号:TMS320F2.8379万D
主题中讨论的其他部件:C2000WAREsysconfig

我们希望对通过ADC输入采样的栅极电压的32个采样进行FFT。 在这方面,我有以下疑问:

1-为了在处理时间方面获得最有效的代码,我应该使用VCU2库吗?

2-是否应该使用RFFT而不是CFFT,因为所有ADC样本都是实际值?

3- 项目的输出格式设置为EABI格式。 我还添加了更多EABI格式的库,包括IQmath和定点库。 具有FPU32支持的VCU2库在C2000 Ware 4.1 .0.00 中似乎不能以EABI格式提供。 在添加唯一可用的支持fpu32的VCU2库时,即C28x_vcu2_library_fpu32.lib,会出现以下警告:

警告#1.0373万-D:库"C:/ti/C2000Ware_4_01_00_00/libraries/DSP/VCU/c28/lib/C28x_vcu2_library_fpu32.lib"包含与ELF输出文件不兼容的TI-COFF对象文件。 确保使用正确的库。
警告#1.0373万-D:库"C:/ti/C2000Ware_4_01_00_00/libraries/DSP/VCU/c28/lib/C28x_vcu2_library_fpu32.lib"包含与ELF输出文件不兼容的TI-COFF对象文件。 确保使用正确的库。

请告诉我如何解决此问题。 是否可以提供EABI格式的vcu2浮点库,或者我是否需要修改项目设置?

4-另请确认以下处理器选项是否充分利用了可用的处理器硬件加速器,或者是否有更好的设置。 我们的应用是对整流器的数字控制和一些需要FFT计算的信号处理。

完成以下优化设置:

请指导有关浮点模式设置的信息,因为有两个选项:“放松”或“严格”。 我观察到编译器建议将其设置为“宽松”。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    更新:我已使用生成配置ISA_C28FPU32和eabi输出格式重建C28x_vcu2_library项目。 我认为生成的库对于fpu32支持是正确的,并且是以EABI格式生成的,因为我的项目现在编译时没有发出警告1.0373万-D 请告诉我,这是第3点的正确解决方案吗?

    我将收到如下所示的新警告:

    说明资源路径位置类型
    #48-D不兼容的宏"NULL"重新定义(声明位于"C:\ti\C2000Ware_4_01_00\driverlib\f2837xD\driverlib\inc/HW_types.h"的2837的第81行).ccsproject /F2.8379万D_Launchpad_00\cu第41行,外部位置:c:\ti\C28_Varlib\HW_Types.h\cc_DSP库vcu2_types.h

    很明显,这是由于两个不同文件中有多个NULL宏的声明。 当我打算在项目中使用driverlib函数以及vcu2库进行FFT计算时,如何解决此问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在按照C2000Ware的示例代码操作时,我还遇到了另一个问题。 在链接阶段会出现以下错误:

    未定义的第一个引用
    文件中的符号
    ------------------- --------
    CFFT_init32Pt ./main.obj
    CFFT_run32Pt ./main.obj
    CFFT_UNpack./main.obj

    完整的输出如下所示:

        parentObjectMgr: <ref *2> b {
          runtime: [$],
          memberMgrs: [Circular *1],
          invalidMemberAccesses: [],
          managedObject: [Circular *2],
          module: [Object],
          userCreatedOrTouched: true,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: true,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: [E],
          isBeingConstructed: false,
          addSeqNum: 8,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: undefined,
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myCLA4',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        formattersMap: s { objectToId: [Map], idToFormatter: [Object], currentIndex: 421 },
        def: {
          name: 'intconfig_CLA_TASK_6',
          displayName: 'C28 Interrupt Configuration for CLA Task 6',
          moduleName: '/driverlib/interrupt.js',
          collapsed: true,
          args: [Object]
        },
        initValue: <ref *12> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *12],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 15,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt10',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        isInternalReference: false,
        requiredByParent: [],
        showDescription: true,
        userModSeqNum: -1,
        valueAssignSource: null,
        readOnlyBeforeRequiredByParent: false,
        lastArgValue: null,
        lastNonUserSetSource: null,
        userModSeqNumAtForceWrite: -1,
        invalidAssignment: null,
        lastOverwrittenReadOnlyValue: null,
        managedUIState: null,
        value: <ref *12> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *12],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 15,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt10',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        lastNonUserSetValue: <ref *12> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *12],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 15,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt10',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        uiState: { hidden: false, readOnly: false },
        valueObjectMgr: <ref *12> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *12],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 15,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt10',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        runtime: $ {
          deviceData: [Object],
          userPref: [Object],
          products: [Array],
          compiler: 'ccs',
          ccxxImageMode: false,
          targetDBDevice: '',
          pinmuxUIOptions: [Object],
          pinMap: [Object],
          formattersMap: [s],
          id: 0,
          context: [Object],
          rtos: 'none',
          interfaceMap: [Map],
          peripherals: [Object],
          modules: [Object],
          loadedModules: [Object],
          moduleMgrs: [Object],
          interfaceMgrs: [Object],
          managersMap: [Map],
          systemUtils: [Object],
          serializationContext: [Object],
          addSeqNum: 35,
          boardDataChangedEvent: [Object],
          clockTreeNodes: {},
          validations: [Object],
          getRTOS: [Function (anonymous)],
          suppress: [Function (anonymous)],
          excludeFromBuild: [Function (anonymous)],
          currentScript: [Object],
          resourceLoader: [d],
          scripting: [Object],
          commonSystemObject: [Object],
          topModules: [Object],
          moduleToHardwareMap: [Object],
          validationLogger: [Object],
          references: [],
          codeGenerator: [Object],
          viewGenerator: [Object],
          clockTreeConfig: {}
        },
        type: 'container',
        showLongDescription: false,
        collapsed: true,
        defaultCollapsedState: true
      },
      intconfig_CLA_TASK_7: u {
        parentObjectMgr: <ref *2> b {
          runtime: [$],
          memberMgrs: [Circular *1],
          invalidMemberAccesses: [],
          managedObject: [Circular *2],
          module: [Object],
          userCreatedOrTouched: true,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: true,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: [E],
          isBeingConstructed: false,
          addSeqNum: 8,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: undefined,
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myCLA4',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        formattersMap: s { objectToId: [Map], idToFormatter: [Object], currentIndex: 421 },
        def: {
          name: 'intconfig_CLA_TASK_7',
          displayName: 'C28 Interrupt Configuration for CLA Task 7',
          moduleName: '/driverlib/interrupt.js',
          collapsed: true,
          args: [Object]
        },
        initValue: <ref *13> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *13],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 16,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt11',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        isInternalReference: false,
        requiredByParent: [],
        showDescription: true,
        userModSeqNum: -1,
        valueAssignSource: null,
        readOnlyBeforeRequiredByParent: false,
        lastArgValue: null,
        lastNonUserSetSource: null,
        userModSeqNumAtForceWrite: -1,
        invalidAssignment: null,
        lastOverwrittenReadOnlyValue: null,
        managedUIState: null,
        value: <ref *13> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *13],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 16,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt11',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        lastNonUserSetValue: <ref *13> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *13],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 16,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt11',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        uiState: { hidden: false, readOnly: false },
        valueObjectMgr: <ref *13> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *13],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 16,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt11',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        runtime: $ {
          deviceData: [Object],
          userPref: [Object],
          products: [Array],
          compiler: 'ccs',
          ccxxImageMode: false,
          targetDBDevice: '',
          pinmuxUIOptions: [Object],
          pinMap: [Object],
          formattersMap: [s],
          id: 0,
          context: [Object],
          rtos: 'none',
          interfaceMap: [Map],
          peripherals: [Object],
          modules: [Object],
          loadedModules: [Object],
          moduleMgrs: [Object],
          interfaceMgrs: [Object],
          managersMap: [Map],
          systemUtils: [Object],
          serializationContext: [Object],
          addSeqNum: 35,
          boardDataChangedEvent: [Object],
          clockTreeNodes: {},
          validations: [Object],
          getRTOS: [Function (anonymous)],
          suppress: [Function (anonymous)],
          excludeFromBuild: [Function (anonymous)],
          currentScript: [Object],
          resourceLoader: [d],
          scripting: [Object],
          commonSystemObject: [Object],
          topModules: [Object],
          moduleToHardwareMap: [Object],
          validationLogger: [Object],
          references: [],
          codeGenerator: [Object],
          viewGenerator: [Object],
          clockTreeConfig: {}
        },
        type: 'container',
        showLongDescription: false,
        collapsed: true,
        defaultCollapsedState: true
      },
      intconfig_CLA_TASK_8: u {
        parentObjectMgr: <ref *2> b {
          runtime: [$],
          memberMgrs: [Circular *1],
          invalidMemberAccesses: [],
          managedObject: [Circular *2],
          module: [Object],
          userCreatedOrTouched: true,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: true,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: [E],
          isBeingConstructed: false,
          addSeqNum: 8,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: undefined,
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myCLA4',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        formattersMap: s { objectToId: [Map], idToFormatter: [Object], currentIndex: 421 },
        def: {
          name: 'intconfig_CLA_TASK_8',
          displayName: 'C28 Interrupt Configuration for CLA Task 8',
          moduleName: '/driverlib/interrupt.js',
          collapsed: true,
          args: [Object]
        },
        initValue: <ref *14> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *14],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 17,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt12',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        isInternalReference: false,
        requiredByParent: [],
        showDescription: true,
        userModSeqNum: -1,
        valueAssignSource: null,
        readOnlyBeforeRequiredByParent: false,
        lastArgValue: null,
        lastNonUserSetSource: null,
        userModSeqNumAtForceWrite: -1,
        invalidAssignment: null,
        lastOverwrittenReadOnlyValue: null,
        managedUIState: null,
        value: <ref *14> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *14],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 17,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt12',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        lastNonUserSetValue: <ref *14> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *14],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 17,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt12',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        uiState: { hidden: false, readOnly: false },
        valueObjectMgr: <ref *14> b {
          runtime: [$],
          memberMgrs: [Object],
          invalidMemberAccesses: [],
          managedObject: [Circular *14],
          module: [Object],
          userCreatedOrTouched: false,
          metaContentConfigurableMgrs: [Object],
          sharedBy: [],
          topModule: false,
          nonObjectMembers: [Array],
          builtInMembers: [Array],
          inOnChange: null,
          isBeingConstructed: false,
          addSeqNum: 17,
          parentModuleInstanceAdderMgr: undefined,
          parentInstanceMgr: [b],
          sharedByMember: [o],
          interfaceReqs: [h],
          moduleInstanceReqs: [d],
          sharedModuleInstanceReqs: [u],
          moduleReqs: [s],
          id: 'myInterrupt12',
          nameMemberMgr: [s],
          hardwareMemberMgr: [A]
        },
        runtime: $ {
          deviceData: [Object],
          userPref: [Object],
          products: [Array],
          compiler: 'ccs',
          ccxxImageMode: false,
          targetDBDevice: '',
          pinmuxUIOptions: [Object],
          pinMap: [Object],
          formattersMap: [s],
          id: 0,
          context: [Object],
          rtos: 'none',
          interfaceMap: [Map],
          peripherals: [Object],
          modules: [Object],
          loadedModules: [Object],
          moduleMgrs: [Object],
          interfaceMgrs: [Object],
          managersMap: [Map],
          systemUtils: [Object],
          serializationContext: [Object],
          addSeqNum: 35,
          boardDataChangedEvent: [Object],
          clockTreeNodes: {},
          validations: [Object],
          getRTOS: [Function (anonymous)],
          suppress: [Function (anonymous)],
          excludeFromBuild: [Function (anonymous)],
          currentScript: [Object],
          resourceLoader: [d],
          scripting: [Object],
          commonSystemObject: [Object],
          topModules: [Object],
          moduleToHardwareMap: [Object],
          validationLogger: [Object],
          references: [],
          codeGenerator: [Object],
          viewGenerator: [Object],
          clockTreeConfig: {}
        },
        type: 'container',
        showLongDescription: false,
        collapsed: true,
        defaultCollapsedState: true
      }
    }
    Validating...
    Generating Code (IP_Inverter.syscfg)...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\board.c...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\board.h...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\pinmux.csv...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\epwm.dot...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\adc.dot...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\c2000ware_libraries.cmd.genlibs...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\c2000ware_libraries.opt...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\c2000ware_libraries.c...
    Writing D:\International Product\TI_LaunchPad\F28379D_Launchpad_CLA\CPU1_FLASH\syscfg\c2000ware_libraries.h...
    Finished building: "../IP_Inverter.syscfg"
     
    Building file: "syscfg/c2000ware_libraries.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="syscfg/c2000ware_libraries.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/c2000ware_libraries.opt"  "syscfg/c2000ware_libraries.c"
    Finished building: "syscfg/c2000ware_libraries.c"
     
    Building file: "../cla_tasks.cla"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="cla_tasks.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --cmd_file="syscfg/c2000ware_libraries.opt"  "../cla_tasks.cla"
    Finished building: "../cla_tasks.cla"
     
    Building file: "../device/F2837xD_CodeStartBranch.asm"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="device/F2837xD_CodeStartBranch.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --obj_directory="device" --cmd_file="syscfg/c2000ware_libraries.opt"  "../device/F2837xD_CodeStartBranch.asm"
    Finished building: "../device/F2837xD_CodeStartBranch.asm"
     
    Building file: "syscfg/board.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="syscfg/board.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/c2000ware_libraries.opt"  "syscfg/board.c"
    Finished building: "syscfg/board.c"
     
    Building file: "../main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="main.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --cmd_file="syscfg/c2000ware_libraries.opt"  "../main.c"
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2/vcu2_types.h", line 41: warning #48-D: incompatible redefinition of macro "NULL" (declared at line 81 of "C:\ti\C2000Ware_4_01_00_00\driverlib\f2837xD\driverlib\inc/hw_types.h")
    Finished building: "../main.c"
     
    Building file: "../Aux_Grid_Controller.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="Aux_Grid_Controller.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --cmd_file="syscfg/c2000ware_libraries.opt"  "../Aux_Grid_Controller.c"
    "../Aux_Grid_Controller.c", line 88: warning #552-D: variable "AG_cosIQN1_e" was set but never used
    "../Aux_Grid_Controller.c", line 89: warning #552-D: variable "AG_sinIQN1_k" was set but never used
    Finished building: "../Aux_Grid_Controller.c"
     
    Building file: "../device/device.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="device/device.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --obj_directory="device" --cmd_file="syscfg/c2000ware_libraries.opt"  "../device/device.c"
    Finished building: "../device/device.c"
     
    Building file: "../device/F2837xD_GlobalVariableDefs.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="device/F2837xD_GlobalVariableDefs.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --obj_directory="device" --cmd_file="syscfg/c2000ware_libraries.opt"  "../device/F2837xD_GlobalVariableDefs.c"
    Finished building: "../device/F2837xD_GlobalVariableDefs.c"
     
    Building target: "F28379D_Launchpad_CLA.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on -z -m"F28379D_Launchpad_CLA.map" --heap_size=0x200 --stack_size=0x3F8 --warn_sections -i"C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" -i"C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/lib" -i"C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/lib" -i"C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/lib" -i"C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --reread_libs --define=CLA_C --diag_wrap=off --display_error_number --xml_link_info="F28379D_Launchpad_CLA_linkInfo.xml" --entry_point=code_start --rom_model -o "F28379D_Launchpad_CLA.out" "./Aux_Grid_Controller.obj" "./syscfg/board.obj" "./syscfg/c2000ware_libraries.obj" "./cla_tasks.obj" "./main.obj" "./device/F2837xD_CodeStartBranch.obj" "./device/F2837xD_GlobalVariableDefs.obj" "./device/device.obj" "../2837xD_FLASH_CLA_lnk_cpu1.cmd" "../F2837xD_Headers_nonBIOS_cpu1.cmd" "C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xd/driverlib/ccs/Debug/driverlib.lib"  -l"C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/lib/c28x_fixedpoint_dsp_library_fpu32_eabi.lib" -l"C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/lib/IQmath_fpu32_eabi.lib" -l"C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/lib/c28x_vcu2_library_fpu32.lib" -llibc.a 
    <Linking>
     
     undefined     first referenced
      symbol           in file     
     ---------     ----------------
     CFFT_init32Pt ./main.obj      
     CFFT_run32Pt  ./main.obj      
     CFFT_unpack   ./main.obj      
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "F28379D_Launchpad_CLA.out" not built
     
    >> Compilation failure
    makefile:155: recipe for target 'F28379D_Launchpad_CLA.out' failed
    gmake[1]: *** [F28379D_Launchpad_CLA.out] Error 1
    makefile:151: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Asad,  

    感谢您耐心等待一两天,专家将就此回复您。

    谢谢!

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Sira,

       一个礼貌的提醒,帮助我解决VCU2库面临的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Assad,您正在树立怎样的榜样?  

    谢谢Arav  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我从TMS320F2.8379万D器件的空sysconfig项目开始,并逐步配置各种外设,如ADC,ePWM,CLA和通信。 我们的控制代码将从MATLAB代码生成中生成,它将在固定点的C28上部分运行。 因此,我添加了IQMath库和定点库。一些代码将在CLA上运行,也将从MATLAB代码生成工具生成。 IQMath和定点库的添加没有任何问题,包括在链接程序命令文件中定义IQMath部分。 还需要对栅极电压采样进行FFT计算。 我们计划在后台任务(即主环路)中对C28处理器执行此操作。 在这个阶段,我认为VCU2库是正确的方法。 但是,我在添加此库时遇到了问题,如本线程开头所述。 如果需要更多信息,请告诉我。 我还可以上传项目,因为尚未添加自定义代码。 除main.c中的初始化之外,sysconfig在此阶段之前生成的所有代码都是。 如果需要更多信息,请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Asad,

    1.您可以在C2000Ware库的DSP部分查看我们的FPU,定点和VCU用户指南,并在基准部分比较FFT的周期。 您会注意到在进行苹果与苹果的比较时会出现问题,因为VCU将只显示16位整数FFT的基准,而FPU和固定pt库将显示32位(分别为浮点和整数) FFT的基准。 一般而言,浮点FFT最快。 带有VCU (16位)的64磅CFFT需要1402个周期,而与固定pt库(32位)相同的周期需要4703个周期。

    我认为,如果16位FFT适用于您的应用,您应该使用VCU,因为它允许您更好地利用SoC内的可用资源。 C28x CPU资源可用于其他工作。

    2.是的,您可以使用RFFT,尽管我相信RFFT本身将调用更小的CFFT。

    4.设置看起来正常。fp_mode不应影响VCU。 “放松”意味着允许编译器在浮点运算的速度方面权衡精度。

    3.让我再深入了解一下。

    谢谢!

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Asad,

    我用在vcu2_types.h中注释掉的NULL宏重建了C28x_vcu2_library 磁带库仍然构建良好。 应该可以评论一下 侧注-要使用的构建配置为ISA_C28FPU32,而不是ISA_C2800。

    我将调查构建错误。

    谢谢!

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Asad,

    请使用.asm文件中删除的前导下划线重建库。 这些是为COFF提供的。 对于EABI,前导下划线不应出现。

    .global _CFFT_run32Pt.
    .global _CFFT_init32Pt.

    _CFFT_UNpack

    谢谢!

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我肯定会在星期一回到办公室时这样做。 非常感谢您回答所有问题。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请 就以下要点提供指导:

    1-关于  .global _CFFT_run32Pt & .global _CFFT_init32PtAre,您参考的是C:\TI\C2000Ware_X_XX_XX_XX\libraries\DSP\VCU\c28\SOURCE\vcu2\FFT ?中的“vcu2_CFFT_32.ASM”。 我是否需要将 所有出现的_CFFT_run32Pt和_CFFT_init32Pt替换为"vcu2_CFFT_32.ASM"文件中的CFFT_run32Pt和CFFT_init32Pt

    2-关于_CFFT_UNpack,您是指同一目录中的“vcu2_CFFT_utils.asm”吗? 我是否应该将所有出现 的_CFFT_UNpack 替换为"vcu2_CFFT_utils.ASM"文件中的CFFT_UNpack?

    3- 是否无需将 .global _vcu2_twiddleFactors更改为.global vcu2_twiddleFactors?

    4- 您是否可以共享EABI格式的"C28x_vcu2_library_fpu32.lib",以便将其包含在项目中,从而保证并确信一切设置正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Asad,

    1.是的

    2.是的

    3.不确定为什么没有标记。 考虑到EABI版本,也可以改变这种情况。

    4.很遗憾,目前还没有正式发布,我私下创建和发布的任何内容都不能算作正式发布。 请按照所述步骤构建库,并检查是否继续存在任何链接器错误。

    谢谢!

    Sira  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Asad,

    我明天不会上班,因此请在星期二收到后续回复。

    谢谢!

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Sira,

      我可以构建项目,而不会出现任何编译和链接错误。

    有一个要点我会要求指导我:我有32个信号的真实值样本。 由于库中未定义16点CFFT,因此不能将32个值打包为16个复数值(以加快执行速度)。 因此,我需要使用32点CFFT,方法是将所有虚值设置为0。  如果我错了,请纠正我。   

    我们可以关闭此线程。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Asad,我将进行回顾,并在明天早些时候回复您。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Sira,

    关于我的上一个查询的礼貌提醒,以便我们可以关闭此线程。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Asad,

    很抱歉耽误你的时间。 是的,您可以使用32磅CFFT,并将样本的假想成分设置为0。 我曾尝试在我们的VCU2库中查看是否有更有效的方法来处理它,但似乎没有。

    谢谢!

    Sira