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.

[参考译文] TMDSCNCD28P65X:C28p65 专用 RAM 分配问题

Guru**** 2885930 points

Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1630001/tmdscncd28p65x-c28p65-dedicated-ram-assignment-issue

器件型号: TMDSCNCD28P65X
Thread 中讨论的其他器件: C2000WARESysConfig

您好、

我尝试在 28p65 DSP 的 CPU1 和 CPU2 之间隔离可用的 RAM。 我的起点是 C2000Ware 6.x 附带提供的空工程、在双处理器选项下用于此芯片。 我在链接器命令文件中的存储器映射是 image.pngimage.png 

请注意、构建配置是 RAM(而不是闪存)。  问题是当我为 CPU2 调试工程并将任何 RAMDx 分配给.text(在链接器命令文件中)时、验证失败、我会看到如下所示的错误  

image.png

II 还尝试使用 SYSCFG 工具为每个内核分配存储器。 但是、在 CCS Theia - 20.4.1.4__1.10.1、CPU2、board.c 内存 初始化例程 MEMCF_init () 中、似乎不会初始化任何 RAMD!

我有两个问题:

  1. 如何解决验证问题?
  2. syscfg 是否可用于定义内核之间的存储器分配?  

谢谢你。

 

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

    尊敬的 Jwalant,

    感谢您的问题。 我将尝试在我这边重现问题、然后返回给您。

    谢谢、

    IRA

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

    尊敬的 Jwalant,

    我从 “C2000Ware_6_00_01_00\driverlib\f28p65x\examples\c28x_dual\empty_projects\empty_c28x_dual_sysconfig_c2.c“中试用了包含空工程的 CPU1 和 CPU2 链接器 cmd 文件、但我没有收到数据验证错误、能够构建工程。 我刚刚根据您的链接器根据 SDK 示例编辑了链接器 cmd 文件。  

    我曾尝试使用 CCS 20.4.1 和 CCS 20.5

    您是否可以尝试导入我的工程并查看是否能够构建该工程?

    如果是、则问题可能不在链接器中、而是其他一些工程配置中。

    e2e.ti.com/.../empty_5F00_c28x_5F00_dual_5F00_sysconfig_5F00_cpu1_5F00_cpu2_5F00_multi.zip

    请告诉我您得到了什么结果。

    谢谢、

    IRA

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

    导入您在此处列出的工程时、会出现以下导入错误。 看起来您可能已经在较新的编译器中试用过

     

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

    尊敬的 Jwalant,

    您能帮我确定您使用的确切编译器版本吗?

    谢谢、

    IRA

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

    C2000 - v22.6.3.LTS 和 Clang v2.0.0.STS

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

    e2e.ti.com/.../PFC_5F00_CommCore_5F00_CPU2.zip

    当我按照说明从空工程示例创建双核工程时、我注意到了一些奇怪的事情。 然后、我从 LED 双核示例添加了相同的示例代码。 此外、更新了每个内核上的 syscfg 文件以进行匹配。 首先、这给了我重新定义任一侧的 CPU_LED1 和 2 的错误、正如另一侧所定义的那样。 但从 CPU2 中删除它修复了错误、代码构建并执行。 但是、LED 不会闪烁。 那么、我查看了对比了 SYSCFG 的 LED 示例与我的示例。 出乎意料的是、我代码中的 CPU1 syscfg 看起来像 LED 示例 CPU2 文件、反之亦然!  

    我注意到、我拥有的 syscfg 工具比示例中的工具新。 是否存在错误?

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

    尊敬的 Jwalant,

    让我与团队核实、然后返回给您。

    谢谢、

    IRA

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

    尊敬的 Jwalant,

    很抱歉晚才回复。 您能详细说明一下您认为这个 bug 是什么吗? 您是否尝试构建 C2000Ware_x_x_00\driverlib\f28p65x\examples\c28x_dual\led? 您观察到 LED 未闪烁?

    同时、您可以尝试导入和构建该工程吗?  

    它与您的工程具有相同的 RAM 链接器、我已经使用您的编译器版本进行了构建。 您是否能够导入并构建它?

    我已经在 CCS 20.5 上对其进行了测试。

    e2e.ti.com/.../Dual_5F00_Core_5F00_RAM.zip

    谢谢、

    IRA

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

    IRA、  

    我很快就会测试代码。 上面提到的错误是、如果您查看 SYSCFG xml 文件、CPU1 文件会列出在 CPU2 SysConfig 中分配的 GPIO、反之亦然。 不应该是这样。

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

    我导入并构建了该工程。 是有效的。 但是、问题不在于构建零件。 就在我尝试调试时、无法验证。 最近、TI CCS 更新了 20.5.0.28、现在当我启动调试会话时、我收到“module closed“错误、没有任何进一步的详细信息。

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

    尊敬的 Jwalant,

    如前所述、我们调用进行调试。

    谢谢、

    IRA

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

    尊敬的 Jwalant,

    感谢您发送编修。 我相信这个特定的构建问题已经解决、我们已经针对您在通话过程中遇到的其他问题创建了 E2E。 因此、我现在将结束这一主题。 如果您遇到任何其他问题、请随时为其创建更多 E2E。

    感谢你能抽出时间。

    此致、

    IRA

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

    ira、我下载示例、但出于某种原因、CPU1 和 2 个 syscfg 文件的大小为 0KB、即空。 可以更新附件吗?

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

    尊敬的 Jwalant,
    专家目前是 OOO、请期待下周的答复

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ira、我下载示例、但出于某种原因、CPU1 和 2 个 syscfg 文件的大小为 0KB、即空。 是否可以更新附件?

    尊敬的 Jwalant,

    您在这里讨论的是哪个示例? 我相信我们能够解决电话中的“验证失败“问题。 您能提醒一下我、您在这里讨论的是哪个代码?

    谢谢、

    IRA

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

    嗯、最终我找到了正确的分配。 我使用 Sycfg 文件到达那里 — 在 MEMCFG 下、我启用了用于工程的存储器部分、然后在同一页面上的各个配置部分下、我将 CPU2 指定为该部分的控制器。 同样、我必须调整两个链接器命令文件、以避免使用由另一个 CPU 使用的段。  

    感谢大家分享的指针和信息。