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:在 TI 处理器 SDK RTOS 中的 TDA4VM 的 C71x DSP 上使用 FFTLIB 时出现的问题

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1466653/tda4vm-issues-using-fftlib-on-dsp-c71x-of-tda4vm-with-ti-processor-sdk-rtos

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

工具与软件:

您好!

尝试使用中包含的 FFTLIB 库时遇到问题 TI Processor SDK RTOS (版本:10.00.00.05) 在上 C71x DSP 我的 TDA4VM . 下面、我将介绍我执行的步骤和遇到的错误:

  1. 首次尝试(Code Composer Studio):

    • 我创建了一个简单的 C 带有空main()函数的工程、仅调用库。
    • 我使用的是 TI-CGT-c7000_4.1.LTS 编译器、并且我按如下方式对其进行了配置:
      • 将 FFTLIB 路径添加到编译器的包含目录。
      • 设置 DSP C71x 作为编译目标。
    • 在尝试编译时、遇到了以下错误:
      >> Compilation failure
      subdir_rules.mk:7: recipe for target 'main.obj' failed
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      "/home/heverton-sds/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
      13 errors detected in the compilation of "../main.c".


  2. 第二次尝试(遵循 FFTLIB 用户指南):

    • 我跟着 FFT 库用户指南 使用构建和运行库测试的说明 CMake .
    • 我使用了cmake指南中提供的示例命令之一、能够正确配置工程。
    • 但是、在运行 build 命令cmake --build build()时、我遇到了以下错误:

注释:

  • 我成功使用了 DSPLIB (也包含在这个 SDK 中) 直接连接 编译器开发应用程序、无需使用 CMake。
  • 我未对 FFTLIB 或用户指南中提供的示例进行任何修改。

我的问题:

  • 在 DSP C71x 上使用 FFTLIB 时、是否可能遗漏了任何其他配置或依赖项?
  • 是否知道导致上述错误的原因?

提前感谢您的帮助!

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

    您好!

    我们建议遵循随附的文档、因此最好在第二次尝试时遵循。

    在调用"cmake --build build"之前、您调用了什么 cmake 命令来设置配置?

    谢谢。

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

    感谢您的答复。

    在运行该cmake --build build命令之前、我使用以下cmake命令来设置配置:

     cmake -B build -DTARGET_PLATFORM="PC" -DBUILD_TEST="1" -DKERNEL_NAME="fft_c7x/FFTLIB_fft1dBatched_i32fc_c32fc_o32fc" -DSOC="j721e" \
    -DDEVICE="C7100" -DFFTLIB_DEBUGPRINT="1" -DTEST_CASE="2" -DCMAKE_EXPORT_COMPILE_COMMANDS="TRUE" \
    -DCMAKE_BUILD_TYPE="Release" 

    这是 FFTLIB 文档中提供的示例命令之一。 我完全按照它的外观使用它、因为我的目标确实是 j721e 和设备 C7100 .

    此外、我注意到、如果我运行此另一个命令、这也是文档中的:

     cmake -B build -DTARGET_PLATFORM="" -DAUTO_TEST="1" -DSOC="j721e" -DDEVICE="C7100" \
    -DALL_TEST_CASES="1" -DCMAKE_BUILD_TYPE="Release" -DFFTLIB_DEBUGPRINT="0" 
    

    我遇到以下错误:



    我注意到的一件事是,这个关于 TI_cache.c 的错误专门发生在我使用时-DTARGET_PLATFORM="",把参数留空。 当我使用时-DTARGET_PLATFORM="PC"、不会发生此错误。

    这两条命令的配置步骤完成、没有任何错误。 但是、在构建过程中会出现问题。

    请告诉我其他详细信息是否有帮助。

    谢谢!

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

    如该文档中所述、 target_platform 将告诉您是尝试为 PC 进行构建、以便进行主机仿真、还是在实际目标(TI EVM)上运行。 您需要哪一个?

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

    我需要在实际目标上运行

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

    我们已尝试并验证了上述两种配置选项、但未发现任何错误。  是否可以删除 build 目录并重试?

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

    您好!

    感谢您的响应和对配置选项的验证。 我按照您的建议删除了 build 目录,但不幸的是,错误仍然存在。

    为了进一步进行故障排除、我决定再次下载该 SDK、并使用随附的新版本 fftlib 进行测试。 设置完成后、编译工作没有任何问题。 这表明在之前的设置中我可能无意中删除或损坏了某些文件。

    无论如何、重新下载并使用全新的 SDK 解决了我的问题。 感谢您的帮助!

    此致、
    Heverton