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.

[参考译文] TMS320C6415:C6415项目从 CCS2.21迁移到 CCS3.3时出现问题

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1023431/tms320c6415-problem-with-migration-of-c6415-project-from-ccs2-21-to-ccs3-3

器件型号:TMS320C6415
Thread 中讨论的其他器件:CCStudio

我们在 CCS2.21中创建了一个非常旧的 C6415 DSP 项目、希望将其迁移到更新的 CCS 版本和工具集。  我们已通过 CCS3.3迁移该项目、然后将其迁移到 CCS8.1、以获取最新的工具和库。  此项目构建、在调试器中加载、并以大多数方式使用 CCS3.3和 CCS8.1进行构建、但我们的以太网输出遇到问题。

我发现了这个问题、就是项目从 CCS2.21转换为 CCS3.3的最初迁移步骤。  通过新安装的 CCS2.21重新编译工程、以太网输出正常工作。  使用 CCS3.3转换和编译相同的项目代码后、以太网输出失败。

从许多年前的其他帖子中、似乎有一些迁移指导文档用于从 CCS2转换到 CCS3、以及/或有关从 BIOS4X 迁移到 BIOS5X 的文档、但这些帖子太旧了、指向这些迁移指导文档的链接似乎被破坏了。

是否有人可以为我提供这些非常旧的迁移文档的工作链接或参考?  或者其他一些关于在从 CCS2迁移到 CCS3时如何检查以太网正常运行的建议?

谢谢、

Bob

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

    您好!

    我没有准备好使用配方、但我记忆中有一件事。 当我们迁移旧项目时、它是2.1 -> 3.1 -> 3.3。 在我看来、在后一个步骤3.1 -> 3.3中、当通过.cdb 文件进行的 DSP/BIOS 配置被.tcf 脚本取代时、没有外设初始化。 我们的系统中有 C6414、我们使用 EMIFA 与 FPGA 进行通信。 在.cdb 配置中、我们拥有所有参数-如读/写选通、保持宽度等。 一旦迁移到3.3,它就不起作用,所以我用 C 编写了一个例程,在 main()中初始化 EMIFA,这样就恢复了系统。 因此、考虑到这种经验、我建议查看2.x 中存在的硬件配置类型以及最新实施中对应的硬件配置类型。

    最好

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

    我已经将其跟踪为初始化 DSP 以太网外设的代码、我们在其中尝试初始化基址。 我们执行 pci xfer 命令以太网设置基址、但该命令似乎从未完成。 以太网 periph 看起来一直很忙。

    是否有人知道在 CCS2.21至 CCS3之间或 BIOS 4.x 至 BIOS 5.x 之间哪些以太网初始化可能已更改?

    有没有人还拥有旧的 BIOS 迁移文档的副本、或者有指向 CCS2到 CCS3迁移信息的工作链接?

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

    我对 C641x 上的 PCI 没有任何经验、因此我在这里几乎没有什么帮助。 尽管如此、快速查看 PCI 外设手册仍然没有显示隐藏的设置。 我很好奇以太网模块到底是如何连接到 DSP 的。 如果 PCI 就是这样、那么我无法想象2.1和3.1之间有什么问题。 如果通过 EMIF 访问任何内容、情况可能会有所不同。 据我了解、具有 CDB 配置的 DSP/BIOS v.4提供了一种通过 CSL 静态配置外设的方法。 因此、一旦您在 DSP/BIOS 配置的全局设置中启用 CSL、CSL 节点就会出现在 config 中、如下所示:

    在这里可以看到 emifaCfg0已添加及其属性页。 我们在 CCS v3.1中使用了该方案。 后来、当我们迁移到具有 DSP/BIOS v.5和 TCF 类型配置脚本的 v.3.3时、无法以这种方式设置外设、因此我们编写了 C 代码来执行此操作。

    因此、在您的情况下、我将打开 v2.1的 CDB 并检查是否有任何 CSL 服务正在使用-请参阅全局设置、常规、CSL:

    如果有任何静态配置、请继续查看其中包含哪些类型的静态配置。

    同样、在我们的案例中、将工作的 v.3.3项目迁移到基于 Eclipse 的 CCS 没有遇到很大的问题、但问题是将 v.3.1迁移到 v.3.3。 如前所述、v.3.3在您的情况下无法正常运行、因此此时只需保留 CCS v4或任何后续尝试、直到 v.3.3项目开始运行、然后继续导入。

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

    您好、Robert、

    请注意 、根据 产品页面、TMS320C6415没有设计支持。 这意味着我们不再拥有有关此器件或其软件的内部专业知识。 拉格里奇比我更了解这个部分、因此感谢您的参与!

    但是、如果您知道已下载的页面的标题或链接、我可以查看存档、看看我是否可以找到 html 源代码。

    此致、

    Nick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="372228" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1023431/tms320c6415-problem-with-migration-of-c6415-project-from-ccs2-21-to-ccs3-3 "]有关从 BIOS4X 迁移到 BIOS5X的文档

    我能够挖掘出一个涵盖此主题的旧 Wiki 链接的 PDF 副本:

    e2e.ti.com/.../Migrating-from-BIOS-4.9-to-BIOS-5.x.pdf

    旧文档中最有用的部分可能是最后一部分:"如何在 cdb 转换之前和之后进行比较以确保正确?"  

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

    感谢您的照片。  这有助于我找到您所引用的设置。

    但是、当我打开项目的配置工具时、看起来不像我们在旧项目中配置任何 CSL 外设。  当我查看 CSL 部分时、我会看到所有对象、但对于"Enabled"或"In Used"、它们都显示为 false。  我很确定我们使用的是 CSL 函数、但它们看起来都是在代码中设置和初始化的。

    我甚至看不到在我们的配置中为任何 CSL 设备添加的任何配置管理器、因此我们可能会在代码中配置所有这些管理器。

    当我使用 调试器查看 DSP 中的 EMIF 寄存器并在以太网配置之前设置一个断点时、我看到 EMIF 寄存器加载了预期值、因此我认为我们不会看到与您看到的完全相同的情况、 但我仍在通过其余寄存器进行日志记录。

    但您的图片提醒我,我之前看到过一篇关于在 main 的早期使用 CSL_init()初始化 CSL 的文章。  我尝试过、但它没有帮助解决我们的问题。

    如果您知道您可能遇到的任何其他差异或建议、我们将感谢您的帮助。

    但感谢您迄今为止的帮助。

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

    Ki、感谢您提供本文档。 这为我提供了 BIOS 差异的方向。

    如果您知道其他封装差异的任何类似文档、请告诉我。 (如编译器/链接器差异或可能已更改的库。)

    与此同时,rragic 说他们能够通过 CCS3.1逐步迁移项目,这一步骤没有问题。  我想知道是否可以将此迁移问题除以、但在旧工具页面上看不到 CCS3.1的副本。  是否有人可以获得该副本、以便我可以在 BIOS 更改和编译器更改之间进行划分?

    谢谢。

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

    您好、Robert、

    请与我开始私人 E2E 对话、以便我们讨论您获取 CCS 3.1的选项

    谢谢

    Ki

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

    我的想法已过时。

    我的存储器会使链接器命令文件变得混乱、但我无法记住详细信息、因此没有这样的提示。

    请您详细说明一下您的系统、采用了哪些配置。 与 v.3.3一起使用的编译器版本是什么?

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

    嗯、3.1版本确实解决了这个问题。  从 CCS2.21迁移到 CCS3.1之前、以太网似乎出现了故障、BIOS 发生了重大变化、因此可能不是 BIOS 问题。 (至少不是 BIOS V5问题。)

    因此、这更有可能是编译器中发生更改的内容。  (看起来像 C6000编译器 v5.1)

    此时、我将开始查看有关 CCS3.1构建工具的发行说明。  如果任何人都有一些旧说明或信息、需要从 CCS2.21迁移到 CCS3.1、我们将不胜感激。

    谢谢。

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

    我浏览了处理器 Wiki 存档、 并能够再微调一个页面、该页面对于从 CCStudio 2.x 迁移到3.1可能很有用:

    e2e.ti.com/.../Migration_5F00_to_5F00_CCStudio31.pdf

    此致、

    Nick

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

    感谢大家对此提供的帮助。  文档和 CCS 版本对解决该问题大有帮助。

    问题最终是在 CCS3.1之前、在用于旧工程的 CCS2.21版本之后的某个位置进行的 CSL 更改。  它是添加到我们在以太网配置中使用的 CSL 中的 PciConfigXfer 结构中的 trctl 字段。  在旧代码中、原始结构字段全部重置为0、我们在 PCI xfer 周期中填充了所有这些字段。 由于不需要保留任何数据、因此我们在更改寄存器之前没有读取它们。

    添加新字段后、硬件会将 trctl 重置为非零值、但该结构未初始化、因此 trctl 的结构值设置为0。  当我们尝试写入新的 PCI_xferConfig 值时、它会将无效的0值 trctl 写入 PCI 配置、并将其余的 PCI 参数写入、这会导致 PCI 在不久后就会死。

    解决方案是在设置其他参数之前使用 PCI_xferGetConfig 读取 HW 寄存器值以初始化结构、基本上是根据 HW 寄存器值为结构执行读取-修改-写入序列。  这将保留 trctl 的原始硬件复位值。