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.

[参考译文] AWR2944EVM:使用 makefile 将自定义 DPU 目录与 DPC's objectdetection.c/.h 链接

Guru**** 2555630 points
Other Parts Discussed in Thread: AWR2944EVM

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1541002/awr2944evm-linking-custom-dpu-directory-with-dpc-s-objectdetection-c-h-using-makefiles

器件型号:AWR2944EVM


工具/软件:

大家好、我编写了一个计算 STFT(短时间 FFT)的自定义库、现在正在尝试连接到 AWR2944EVM 的 DDM 演示。  此附加 DPU 的功能在此处进行了说明: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1538053/awr2944evm-best-practice-for-modifying-the-demo-source-code 

我在 SDK 的 DPU 文件夹中创建了一个新目录:

  • C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\ti\datapath\DPU\classificationproc <- My new directory
  • 内部的结构模拟了 SDK 的结构、这意味着我得到的  
  • Makefile  
  • classificationproclib.mak
  • classificationdpu.h
  • src /分类 dpu.c

是我理解的 我需要这两个 makefile /.mak 来编译我的 librarie 的二进制文件、然后在项目编译期间由 objectdetection 文件夹中修改后的 makefile 提取这些二进制文件。 是这样吗?

将 makefile/.mak 文件添加到我的目录后、我厌倦了使用这些文件构建二进制文件、但我没能做到这一点。 我运行的 setenv.bat 文件位于:

  • “C:\ti\mmwave_mcuplus_sdk_04_07_00_01\DSPLIB_c66x_3_4_0_0\packages\ti\DSPLIB\setenv.bat“
  • “C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\scripts\windows\setenv.bat“
  • “C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_DFP_02_04_17_00\ti\control\mmwavelink\makefiles\setenv.bat“

但当我在文件夹中运行 gmake 时仍然会失败。 所以 如果您能告诉我如何构建二进制文件以在演示中进一步使用、我将不胜感激。

此致

标记  

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

    您好:Mark、

    "C:“:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\scripts\windows\setenv.bat“

    通过运行该批处理文件来设置环境变量就足够了。 您不需要运行其他批处理文件。

    但当我在文件夹中运行 gmake 时、它仍然失败

    首先、您是否能够在 C:\ti\mmwave_mcuplus_sdk_、ver>\mmwave_mcuplus_sdk_中重新编译任何其他库或测试 \ti\datapath?

    您是否更新了 makefile 中所有文件的路径和名称? 请检查构建错误以了解失败的地方。

    此致、

    Samhitha

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

    您好、  

    我错误地使用了错误的 setenv.bat 文件,它没有平台设置等 使用正确的文件 “c:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\scripts\windows\setenv.bat“后、我的源代码进行了编译并创建了 2 个二进制文件。 但我仍然有问题和疑问。

    问题: 在我的 OCDE 中、有一行为计算的 STFT 分配输出缓冲区、它使用类型 (cmplx16ImRe_t)、因为这目前不起作用、我使用了类型 (uint16_t)、但这在实践中不起作用:

    obj->outBufBytes =(size_t) numChirps * numOutBins * sizeof (uint16_t);
    //obj->outBufBytes =(size_t) numChirps * numOutBins * sizeof (cmplx16ImRe_t);

    我不太能弄清楚我需要包含哪些头文件才能获得此类型。 我已经尝试并将这两个头文件放在我的.c 文件中、但它不起作用、并且编译器由于未知类型而不断崩溃:

    #include
    #include

    我应该包括哪些标头来获取复杂的数据类型?

    问题:   

    • 创建了 2 个二进制文件“.ae66"和“和“.aer5f"。“。 我真的需要这两者吗? DSS/DPU 在 c66x 上运行、因此运行 MSS 的 R5F 的文件是否冗余?
    • 现在如何在 objectdetection.c 中干净地插入创建的二进制文件? 我是否应该修改以下目录中的 makefile: c:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\ti\datapath\dpc\objectdetection\objdetection\objdethwadma、然后将我库的 headerfile 包含在.c 文件本身中?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    标记、

    我应该包括哪些标题来获取复杂的数据类型?

    复数结构在 C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mcu_plus_sdk_awr294x_10_01_00_04\source\drivers\hw_include\csl_complex_math_types.h 中定义

    2 个二进制文件创建了“.ae66"和“和“.aer5f"。“。 我真的需要这两者吗? DSS/DPU 在 c66x 上运行、因此运行 MSS 的 R5F 的文件不是冗余的吗?

    您不需要 创建 R5F 库。

    我现在如何在 objectdetection.c 中干净地插入创建的二进制文件? 我是否应该修改以下目录中的 makefile: C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\ti\datapath\dpc\objectdetection\objdetection\objdethwadma、然后将我库的头文件包含在.c 文件本身中?

    您指向的目录中的 Makefile 用于构建 DPC 测试。 相反、库及其路径应包含在应用的 DSS 核心 makefile 中 —  C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\demo\awr294x\mmw\dss\mmw_dss.mak。  您可以检查 DPU 库是如何包含的、并按照相同的步骤包含您的库。

    此致、

    Samhitha