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.

[参考译文] TDA4VM:使用 FFTLIB–未定义标识符编译错误

Guru**** 2468610 points
Other Parts Discussed in Thread: FFTLIB, TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1468680/tda4vm-compilation-error-using-fftlib-undefined-identifiers

器件型号:TDA4VM
主题中讨论的其他器件: FFTLIB

工具与软件:

您好!

我正在尝试使用 TDA4VM 中 C71x DSP 上的 FFTLIB。 为了测试代码库、我创建了一个只main包含函数的简单工程、并包含了 FFTLIB 接头。 我正在使用 Code Composer Studio (CCS)、并且已经根据文档配置了项目设置。

但是、当我尝试构建项目时、会出现以下编译错误:

"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 393: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 395: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 396: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 397: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 398: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 400: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 401: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 402: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 403: error #20: identifier "__HWA_CONFIG_REG_v1" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 405: error #20: identifier "__HWA_OFFSET_REG" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 406: error #20: identifier "__HWA_OFFSET_REG" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 407: error #20: identifier "__HWA_OFFSET_REG" is undefined
"C:\ti\ti-processor-sdk-rtos-j721e-evm-10_00_00_05\fftlib\src\common/FFTLIB_types.h", line 408: error #20: identifier "__HWA_OFFSET_REG" is undefined

看起来__HWA_CONFIG_REG_v1__HWA_OFFSET_REG缺少这些标识符(、等)。 我怀疑可能缺少依赖项或预处理器定义。

其他信息:

  • 处理器: C71x (TDA4VM)
  • SDK 版本: TI-PROCESSOR-SDK-RTOS-j721e-evm-10_00_00_05
  • IDE: Code Composer Studio
  • 工程配置: 我已经在项目属性中添加了 FFTLIB 包含路径并链接了必要的库。

问题:

  1. 我是否需要包含任何其他头文件或定义特定宏才能正确使用 FFTLIB?
  2. 是否必须包含依赖项(例如 HWA 或其他库)才能使 FFTLIB 正常工作?

如果能提供任何指导、将不胜感激。 提前感谢!

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

    您好!

    这看起来是上一个线程 TDA4VM:在 TI Processor SDK RTOS 中的 TDA4VM C71x DSP 上使用 FFTLIB 的问题的延续

    您能否 共享简单项目的 cmake 配置?

    谢谢。

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

    您好!

    感谢您的答复!

    这实际上与我的上一线程有关。 我能够在使用 CMake 时解决编译问题、但在尝试直接在 Code Composer Studio (CCS)中使用 FFTLIB 时仍然遇到问题。

    关于您的问题、我的项目未使用手动创建的 CMake 配置。 而是使用 CCS 自动生成的编译系统。 工程配置为链接 FFTLIB 库、CCS 生成的 makefile 文件包含以下设置:

    ################################################################################
    # Automatically-generated file. Do not edit!
    ################################################################################
    
    SHELL = cmd.exe
    
    CG_TOOL_ROOT := C:/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/ti-cgt-c7000_4.1.0.LTS
    
    GEN_OPTS__FLAG := 
    GEN_CMDS__FLAG := 
    
    ORDERED_OBJS += \
    "./main.obj" \
    "../lnk.cmd" \
    $(GEN_CMDS__FLAG) \
    -llibc.a \
    -l"C:/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/fftlib/lib/Debug/FFTLIB_C7100.lib" \
    
    -include ../makefile.init
    
    RM := DEL /F
    RMDIR := RMDIR /S/Q
    
    # All of the sources participating in the build are defined here
    -include sources.mk
    -include subdir_vars.mk
    -include subdir_rules.mk
    -include objects.mk
    
    ifneq ($(MAKECMDGOALS),clean)
    ifneq ($(strip $(C55_DEPS)),)
    -include $(C55_DEPS)
    endif
    ifneq ($(strip $(C_UPPER_DEPS)),)
    -include $(C_UPPER_DEPS)
    endif
    ifneq ($(strip $(S67_DEPS)),)
    -include $(S67_DEPS)
    endif
    ifneq ($(strip $(S62_DEPS)),)
    -include $(S62_DEPS)
    endif
    ifneq ($(strip $(S_DEPS)),)
    -include $(S_DEPS)
    endif
    ifneq ($(strip $(OPT_DEPS)),)
    -include $(OPT_DEPS)
    endif
    ifneq ($(strip $(C??_DEPS)),)
    -include $(C??_DEPS)
    endif
    ifneq ($(strip $(ASM_UPPER_DEPS)),)
    -include $(ASM_UPPER_DEPS)
    endif
    ifneq ($(strip $(S??_DEPS)),)
    -include $(S??_DEPS)
    endif
    ifneq ($(strip $(C64_DEPS)),)
    -include $(C64_DEPS)
    endif
    ifneq ($(strip $(CXX_DEPS)),)
    -include $(CXX_DEPS)
    endif
    ifneq ($(strip $(S64_DEPS)),)
    -include $(S64_DEPS)
    endif
    ifneq ($(strip $(INO_DEPS)),)
    -include $(INO_DEPS)
    endif
    ifneq ($(strip $(CLA_DEPS)),)
    -include $(CLA_DEPS)
    endif
    ifneq ($(strip $(S55_DEPS)),)
    -include $(S55_DEPS)
    endif
    ifneq ($(strip $(SV7A_DEPS)),)
    -include $(SV7A_DEPS)
    endif
    ifneq ($(strip $(C62_DEPS)),)
    -include $(C62_DEPS)
    endif
    ifneq ($(strip $(C67_DEPS)),)
    -include $(C67_DEPS)
    endif
    ifneq ($(strip $(PDE_DEPS)),)
    -include $(PDE_DEPS)
    endif
    ifneq ($(strip $(K_DEPS)),)
    -include $(K_DEPS)
    endif
    ifneq ($(strip $(C_DEPS)),)
    -include $(C_DEPS)
    endif
    ifneq ($(strip $(CC_DEPS)),)
    -include $(CC_DEPS)
    endif
    ifneq ($(strip $(C++_DEPS)),)
    -include $(C++_DEPS)
    endif
    ifneq ($(strip $(C43_DEPS)),)
    -include $(C43_DEPS)
    endif
    ifneq ($(strip $(S43_DEPS)),)
    -include $(S43_DEPS)
    endif
    ifneq ($(strip $(ASM_DEPS)),)
    -include $(ASM_DEPS)
    endif
    ifneq ($(strip $(S_UPPER_DEPS)),)
    -include $(S_UPPER_DEPS)
    endif
    ifneq ($(strip $(CPP_DEPS)),)
    -include $(CPP_DEPS)
    endif
    ifneq ($(strip $(SA_DEPS)),)
    -include $(SA_DEPS)
    endif
    endif
    
    -include ../makefile.defs
    
    # Add inputs and outputs from these tool invocations to the build variables 
    EXE_OUTPUTS += \
    Teste_c71x_fft.out 
    
    EXE_OUTPUTS__QUOTED += \
    "Teste_c71x_fft.out" 
    
    
    # All Target
    all: $(OBJS) $(CMD_SRCS) $(GEN_CMDS)
    	@$(MAKE) --no-print-directory -Onone "Teste_c71x_fft.out"
    
    # Tool invocations
    Teste_c71x_fft.out: $(OBJS) $(CMD_SRCS) $(GEN_CMDS)
    	@echo 'Building target: "$@"'
    	@echo 'Invoking: C7000 Linker'
    	"C:/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/ti-cgt-c7000_4.1.0.LTS/bin/cl7x" --advice:performance=all -g --diag_warning=225 --diag_wrap=off --display_error_number -z -m"Teste_c71x_fft.map" -i"C:/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/ti-cgt-c7000_4.1.0.LTS/lib" -i"C:/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/ti-cgt-c7000_4.1.0.LTS/include" -i"C:/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/fftlib/lib/Debug" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="Teste_c71x_fft_linkInfo.xml" --rom_model -o "Teste_c71x_fft.out" $(ORDERED_OBJS)
    	@echo 'Finished building target: "$@"'
    	@echo ' '
    
    # Other Targets
    clean:
    	-$(RM) $(EXE_OUTPUTS__QUOTED)
    	-$(RM) "main.obj" 
    	-$(RM) "main.d" 
    	-@echo 'Finished clean'
    	-@echo ' '
    
    .PHONY: all clean dependents
    .SECONDARY:
    
    -include ../makefile.targets
    
    

    如果您需要任何其他详细信息、请告诉我。

    谢谢!

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

    您好!

    感谢您的更新。 我会检查一下并很快回复。

    此致、
    Sivadeep P R

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

    您好!

    您是否选择了 MMA 版本。 如果没有、请 选择选项1。



    之后检查标志的摘要设置、并验证是否设置了 MMA 路径。

    此致、
    Sivadeep

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

    您好!

    "我不知道你在说什么。" 我选择了它,它起作用了!

    再次感谢您的帮助、非常感谢!

    此致、
    Heverton