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.
您好、TI
我想在 TDA4VM SDK 8.5中的 MCU 域和主域之间进行 IPC 通信。
不过、在 MCUSW 示例中、无法进行 IPC 通信。
因此、需要一个可能在 mcusw 上 mcu1_0 (R5F)和 mpu1_0 (A72)之间运行的 IPC 通信示例。
在 SDK 8.5 FreeRTOS 中、请告诉我在 lds 文件中设置到 TCMB 区域的文件、如果主函数要求设置 entry_point、请告诉我是否包含该文件或如何设置该文件。
此致、
您好!
您可以对 MCU 1_0执行相同的操作、与常见问题解答中对 MCU2_1执行的操作相同。
在 SDK 8.6中可以看到同样的内容。
SDK 8.5中有 PDK IPC 示例、其将 MCU1_0与 MPU1_0进行通信。MCUSW IPC 通信的示例可能在 mcu1_0 (R5F)和 mpu1_0 (A72)之间的 mcusw 之间运行、预计将是即将发布的版本的一部分。
此致
M·塔伦
您好、Tarun
我对尝试应用补丁感兴趣、正如您在帖子(https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1201356/faq-tda4vm-does-sdk8-5-mcal-cddipc-supports-communication-with-a72-running-linux)中提出的那样、但我似乎没有权限。
此请求与我一段时间前做的帖子相关: e2e.ti.com/.../tda4vm-cdd_ipc_app_rc_linux-in-mcu1_0-to-communicate-with-linux-on-mpu1_0-a72-is-not-compilable
您能给我吗?
非常感谢
您好、Pablo、
您可以刷新页面并重试吗? 我们刚刚重新上传了补丁。
此致
卡尔蒂克
你好。 现已推出。
对于您的评论、SDK 8.6内容以及补丁内容、我有一些疑问。
在这篇文章中、您说:"您可以实施 相同 步骤与常见问题解答中针对 MCU2_1所做的步骤相同。 "但在帖子中、我创建了((https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1201356/faq-tda4vm-does-sdk8-5-mcal-cddipc-supports-communication-with-a72-running-linux)。)您在 SDK 8.5中说"cdd_ipc_app_RC_linux 没有达到预期 它已经过修改、可用于 SDK 8.6。 在 SDK 8.6中、带 A72的 MCU2_1运行良好、并且 类似产品 适用于 MCU1_0。"。
我已安装了 SDK 8.6、并且 在 MCU2_1中尝试了 CddIPC 并且运行正常。
检查内容, 8.6中对8.5的更改与您提供的修补程序有关。
就像在我的文章中,你不建议(像在这个) 实现相同的 MCU 1_0 (相似的),我感到困惑... 是否值得按照修补程序/SDK8.6中 MCU2_1的更改来尝试为 MCU1_0修改8.6、或者除了 SDK 9.0中提供的内容外、我还需要其他任何东西?
对于 mcu1_0、我应进行的一些更改、请注意:
1.-将 cdd_IpcCfg.c 和.h 复制到 mcu1_0文件夹、 如 MCU2_1补丁中所做的那样。 这些文件已存在于8.6中的 MCU2_1中
2.-修改规则。make 以包括编译变量 cdd_ipc_linux_build。 没有什么可做的。
3.- R5_MPU_freertos.c 的更改已包含在8.6中。 没有什么可做的。
4.- ipc_virtio.c 更改已包含在8.6中。 没有什么可做的。
5.- CddIpcAppRProcLinux.c 和.h 更改已包含在8.6中。 没有什么可做的。
6.- IpcTrace.c 和.h 更改 已包含在8.6中。 没有什么可做的。
7.- CddIpcRProcLinux makefile 更改 已包含在8.6中。 没有什么可做的。
8.-如果是 CddIpcAppStartup.c 文件、 mcu1_0不存在此文件。 我是否应该按原样复制它?
9.-如果是 CddIpcR5Mpu.c 文件、 mcu1_0不存在此文件。 我应该按原样复制吗? 如果不能按原样复制、在没有深入了解的情况下对该区域的代码进行更改似乎很棘手。
您是否可以提供8.6的补丁来解决 MCU1_0上的 CddIPCLinux 通信问题?
我真的很感谢这方面的支持。
非常感谢!
您好、Pablo、
n 此帖子"您可以实施 相同 步骤与常见问题解答中针对 MCU2_1所做的步骤相同。 "但在帖子中、我创建了((https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1201356/faq-tda4vm-does-sdk8-5-mcal-cddipc-supports-communication-with-a72-running-linux)。)您在 SDK 8.5中说"cdd_ipc_app_RC_linux 没有达到预期 它已经过修改、可用于 SDK 8.6。 在 SDK 8.6中、带 A72的 MCU2_1运行良好、并且 类似产品 可针对 MCU1_0进行调整。".
我的意图是、默认 SDK 8.5不支持与 A72进行 CDD IPC 通信的功能。 当您在常见问题解答中应用补丁时、您可以与 A72进行 CDD IPC 通信。
SDK 8.6默认情况下具有 CDD IPC 与 A72通信的功能。
您可以使用 SDK 8.6举例说明带有 A72的 CDD IPC 通信 MCU1_0。
进行的更改的一些注意事项关于我应该对 mcu1_0:
我们为 MCU2_1启用了 CDD IPC MCAL。 AUTOSAR 可通过使用 Vector 的解决方案从任何 R5内核运行。 我们的补丁展示了它将如何用于 MCU2_1、类似的对应于 MCU1_0。
但我们无法测试 MCU1_0的补丁、因为我们没有从 MCU1_0运行以下两个上下文的操作系统:
1) SciServer 服务 Linux,如果没有它就无法工作
2) CDD IPC 测试检查消息到 Linux
这是 MPU 和 R5F 内核之间 CDD IPC 通信的当前状态。 您可以获取该补丁并将其移植到 MCU1_0、然后在 Vector 的堆栈和 Linux 运行的情况下在 MCU1_0上运行它。
已针对 CDD IPC 通信 MCU1_0与 A72的示例提出了内部传票、预计这将是即将发布的版本的一部分、该团队正在进行相关工作。
此致
M·塔伦
谢谢 Tarun。
在我们等待使用 CDD 和 Linux 从 MCU1_0直接连接期间、Linux 将在售后版本中提供
内部票据已针对 CDD IPC 与 A72通信 MCU1_0的示例提出,预计这将是即将发布的版本的一部分,该团队正在处理此问题。
我们已经制定了一种权变措施、将 MCU1_0与 MCU2_1以及 MCU2_1与 A72进行通信。
为了评估通信延迟、我们要使用全局系统计时器来获取在 MCU1_0中发送 IPC 并在 A72中获取 IPC 的时间戳。
我当时想的是 DMSC 可以提供的任何资源计时器、该计时器始终处于运行状态(实际上、 也可以使用 MCU1_0、但不清楚是否可以访问 MCU1_0和 A72的任何计时器)。
您能给我们 一些建议、以找到在系统中获取全局时间戳来评估该延迟的可行方法吗?
非常感谢
您好 Pablo:
可使用 GTC (64位计数器)。 当您在 A72上使用 Linux 时,它将启用 GTC,您可以从 GTC_CNTCV_LO (0xA90008)和 GTC_CNTCV_HI (0xA9000C)寄存器获取时间戳。
从 0xA90008读取并以200MHz 的频率分频的64位计数器将提供时间戳。
此致
M·塔伦
我正在使用 utils appLogGetGlobalTimeInUsec() for Linux (app_log_linux.c)和 RTOS (app_log_rtos.c),工作正常。
非常感谢!