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.

[参考译文] TMS320F28386S:硬编码地址和 IPC 通信建议

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1337025/tms320f28386s-hard-coded-address-and-ipc-communication-suggestion

器件型号:TMS320F28386S
主题中讨论的其他器件:C2000WARESysConfig

您好!

正如我在另一个主题中提到的、driverlib C2000Ware V 5.1.0.0假定数据将位于 CM 和 CPU 上的相同地址。 但是、情况并非总是如此。 为了确保正确利用 SDK 提供的 IPC 队列支持、建议将这些变量分配给硬编码地址。 尽管尝试使用#pragma LOCATION 指令、但我遇到了困难、因为它无法正常工作。 我如何定义这些地址、使编译器为 C28xx 和 Cortex_M4内核中的变量分配正确的地址?

如果无法实现这一点、我建议在 IPC_initMessageQueue 函数期间利用 IPC_sendCommand 来交换缓冲区的地址、并将该空间作为指针引用。

 示例:

[已删除]

*编辑:我用一个解决方案做了一个示例项目,请看一下。

示例项目

此致、

拉蒙

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

    您好、Ramon、

    我们的专家到周末都不在办公室。 请预计响应会延迟。

    谢谢。

    Susmitha Bumadi

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

    您好!

    请看一下这个线程、让我知道它是否能帮助你将消息队列放置在一个精确的位置。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1292430/tms320f28388d-cpu1-to-cm-ipc-message-queue-problem

    此致、

    本·科利尔

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

    尊敬的 Ben:

    感谢您的答复。 该方法确实可以解决问题。 但是、当使用 SysConfig 工具自动生成 cmd 文件时、该解决方案不合适。 我想有一种方法可以在不更改任何 driverlib 文件的情况下停用"IPC 消息队列"资源。 因此、我可以按照我的建议实现我自己的代码、而不会浪费此存储器空间。

    为了实现这一点、我建议向宏添加#ifndef 指令:

    IPC_MSGQ_SUPPORT、IPC_BUFFER_SIZE、IPC_NUM_OF_INTERRUPT

    这样、用户就可以使用 ipc_config.h 文件来配置这些资源、使其适合自己的应用。

    PS:这只是对未来改进的建议。

    感谢您的指导、

    Ramon、

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

    Ramon、

    好的、我建议将其作为将来可能进行的改进。 很高兴您的问题得到解决!

    此致、

    本·科利尔