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.

[参考译文] PROCESSOR-SDK-J784S4:TDA4VH:未针对 TI TDA4VH J784s4 (Linux 环境)的 IPC 通信示例编译 CPP 文件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1442855/processor-sdk-j784s4-tda4vh-cpp-file-not-getting-compiled-for-ipc-communication-sample-for-ti-tda4vh-j784s4-linux-environment

器件型号:PROCESSOR-SDK-J784S4
主题中讨论的其他器件:TDA4VH

工具与软件:

您好、TI 支持团队:

              我正在使用 TI TDA4VH J784S4架构、并且想使用我自己的 CPP 文件为所有可用内核(R5F 和 C7x DSP)构建标准 IPC 示例应用程序(IPC_ECHO_TEST_FreeRTOS)。

发布。 我添加了示例 c 代码、但出现了错误。

 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
class Date
{
private:
int m_year{};
int m_month{};
int m_day{};
public:
Date(int year, int month, int day)
: m_year { year }
, m_month { month }
, m_day { day}
{
}
void print() const { std::cout << "Date(" << m_year << ", " << m_month << ", " << m_day << ")\n"; };
int getYear() const { return m_year; }
int getMonth() const { return m_month; }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

TI 提供的参考链接: [常见问题解答] TDA4VM:如何从 j721e PDK 构建 C++应用程序? 是否有演示示例? -处理器论坛-处理器- TI E2E 支持论坛 

我已经执行了以下文件中提到的步骤。

在 pdk_j784s4_10_00_00_27/packages/ti/drv/ipc/examples/common/makefile.mk 中添加了"main_rtos_cpp.cpp"

生成命令:  make ipc_echo_test_freertos board=j784s4_evm build_profile=release core=mcu2_0 cplusplusplus_build=yes

构建日志:  

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
make ipc_echo_test_freertos BOARD=j784s4_evm BUILD_PROFILE=release CORE=mcu2_0 CPLUSPLUS_BUILD=yes
make -C /home/vm_user/TASK/CPU_LOAD/RTOS_SDK_V10_R5F_DSP/R5F_DSP_C7x_BUILD_DEFAULT_MAKEFILE/pdk_j784s4_10_00_00_27/packages/ti/drv/ipc/examples/linux -f makefile BUILD_OS_TYPE=freertos
make[1]: Entering directory '/home/vm_user/TASK/CPU_LOAD/RTOS_SDK_V10_R5F_DSP/R5F_DSP_C7x_BUILD_DEFAULT_MAKEFILE/pdk_j784s4_10_00_00_27/packages/ti/drv/ipc/examples/linux'
make -f makefile BUILD_OS_TYPE=freertos csl uart board udma i2c gpio pm_lib sciclient osal_freertos freertos csl_init ipc
make[2]: Entering directory '/home/vm_user/TASK/CPU_LOAD/RTOS_SDK_V10_R5F_DSP/R5F_DSP_C7x_BUILD_DEFAULT_MAKEFILE/pdk_j784s4_10_00_00_27/packages/ti/drv/ipc/examples/linux'
make[2]: Nothing to be done for 'csl'.
make[2]: Nothing to be done for 'uart'.
make[2]: Nothing to be done for 'board'.
make[2]: Nothing to be done for 'udma'.
make[2]: Nothing to be done for 'i2c'.
make[2]: Nothing to be done for 'gpio'.
make[2]: Nothing to be done for 'pm_lib'.
make[2]: Nothing to be done for 'sciclient'.
make[2]: Nothing to be done for 'osal_freertos'.
make[2]: Nothing to be done for 'freertos'.
make[2]: Nothing to be done for 'csl_init'.
make[2]: Nothing to be done for 'ipc'.
make[2]: Leaving directory '/home/vm_user/TASK/CPU_LOAD/RTOS_SDK_V10_R5F_DSP/R5F_DSP_C7x_BUILD_DEFAULT_MAKEFILE/pdk_j784s4_10_00_00_27/packages/ti/drv/ipc/examples/linux'
make -f makefile BUILD_OS_TYPE=freertos /home/vm_user/TASK/CPU_LOAD/RTOS_SDK_V10_R5F_DSP/R5F_DSP_C7x_BUILD_DEFAULT_MAKEFILE/pdk_j784s4_10_00_00_27/packages/ti/binary/ipc_echo_test_freertos/bin/j784s4_evm/ipc_echo_test_freertos_mcu2_0_release.xer5f
make[2]: Entering directory '/home/vm_user/TASK/CPU_LOAD/RTOS_SDK_V10_R5F_DSP/R5F_DSP_C7x_BUILD_DEFAULT_MAKEFILE/pdk_j784s4_10_00_00_27/packages/ti/drv/ipc/examples/linux'
# Compiling j784s4_evm:j784s4:mcu2_0:release:ipc_echo_test_freertos:../common/src/main_rtos_cpp.cpp
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

如何修复此错误?

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

    Lokesh 您好!

    参考的常见问题解答在较旧的 SDK 上、其中包括  用于编译 C++代码的编译系统更改。 PDK 库和示例都使用 C 代码。

    您是否能够首先在 J784S4 10.0 SDK 上构建该示例代码?  

    在 pdk_j784s4_10_00_00_27/packages/ti/drv/ipc/examples/common/makefile.mk
    中添加了"main_rtos_cpp.cpp"

    嗯、您正在使用您的定制应用代码编写 ipc_echo_test_freertos 示例。  我建议您首先创建一个单独的独立示例。  

    此致

    Suman

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

    你好 、苏曼安娜、

    您是否能够首先在 J784S4 10.0 SDK 上构建该示例代码?  

    是的、默认示例正在工作。 现在、在示例中添加一个 cpp 文件。

    您能否提供用于创建独立示例的任何示例或参考链接?

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

    Lokesh 您好!

    是的、默认示例正在工作。 现在在示例中添加一个 CPP 文件。

    您是指默认的 PDK IPC echo 测试示例吗? 是的、都可以、因为它是作为 SDK 的一部分提供的标准单元测试/示例。

    您能否提供用于创建独立示例的任何样例或参考链接?

    嗯、您已经提到过的常见问题解答是独立的示例参考。 不过、这是在较旧的 SDK 上完成的、您可以使用它来应用于最新的 SDK。

    此致

    Suman