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.

[参考译文] TMS320F2812:从 CCS v3.3迁移到 CCS v12

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1135210/tms320f2812-migration-from-ccs-v3-3-to-ccs-v12

器件型号:TMS320F2812
主题中讨论的其他器件:UNIFLASH

我们一直在使用 CCS v3.3。 XDS510 JTAG USB 与 SDFlash 一起在 TMS320F2812上构建项目。 现在、我将尝试将整个项目迁移到 CCS v12、XDS200和 UniFlash。 我没有使用 导入旧版 CCSv3.3项目 功能。 相反、我创建了一个完整的新项目(请参阅随附的我的设置图片)、将 CCSv3.3中的所有源代码和库复制到此新项目上、确保链接器文件也相同、确保预处理器包含所有必要的库。 我能够在 CCS v12上成功构建项目、并通过 UniFlash 和 XDS200在芯片上刷写输出文件、没有任何问题。

我们的系统最初似乎可以正常工作、比如一些闪烁的 LED 指示灯模式是正确的。 但是、我们遇到了一些问题、我很难描述问题的所有细节、因为在不披露项目细节的情况下会发生什么、所以请多多包涵。 概括而言、当 TMS320芯片尝试通过串行通信接口(SCI)与主机通信时、芯片会出现无响应和冻结。 我们可以分辨它的冻结是因为这些闪烁的 LED 停止闪烁。 这些闪烁的 LED 由 CPU_TIMER0_ISR 即中断进行控制、 这些 LED 不会在程序中的其他任何位置被触摸 、因为它们只是指示我们是否在闪存正确的固件的指示器; 因此、即使代码中的某个位置卡在循环中、ISR 仍应执行、对吗?

因此、我很困惑问题所在、因为我们只是尝试在 CCSv12上复制整个项目。 我甚至尝试在 CCS v5上执行同样的操作、它会带来完全相同的问题。 我知道我的问题描述可能不是非常清楚、但非常感谢任何建议或反馈!  

谢谢、

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

    您好!

    这是一个棘手的问题、最好由器件专家处理。 我将提请他们注意这个主题。

    我唯一的建议是尝试使用与您在 CCSv3.3中使用的编译器版本相同的编译器。 您可以让 CCS 在3.3目录中发现编译器。 请参阅以下文章中的"编译器发现"部分:

    https://dev.ti.com/tirex/explore/node?node=AJRfIGmBSkp9naUDysxAFg__FUz-xrs__LATEST

    希望器件专家能够提供更好的建议。

    谢谢

    Ki

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

    非常感谢 Ki! 我将按照文档进行操作、并按您所说的那样进行尝试

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

    Huy、
    如果不访问硬件和代码、调试这样的问题非常具有挑战性。 但是、以下建议应帮助您缩小问题范围:

    1. 使用导入旧版 CCSv3.3项目功能、看看这是否会有所不同。
    2. 比较使用 SDFlash 编程的器件和使用 Uniflash 编程的其他器件之间的闪存映像。 您可以通过将图像保存为十六进制文件并使用诸如 BeyondCompare (或任何比较 ASCII 文本文件并显示差异的实用程序)之类的实用程序来实现此目的。
    3. 对可与 CCS3.3+SDFlash 搭配使用的电路板进行编程、反之亦然。 这是为了确保电路板上的任何硬件都不会出现问题。
    [引用 userid="432302" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1135210/tms320f2812-migration-from-ccs-v3-3-to-ccs-v12 "]因此,即使代码中的某个位置停留在循环中,ISR 仍应执行,是否正确?

    如果没有其他问题、CPU 定时器中断将起作用。 如果您的代码丢失了、并且看门狗正在重复复位您的器件、则 LED 不会闪烁。

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

    您好、Haresh、

    我已经尝试了步骤3、我很确定 CCS12生成的代码。 我尝试使用 SDFlash 和 UniFlash 刷写 CCS3.3程序、它正常工作。 我尝试使用 SDFlash 和 UniFlash 刷写 CCS12程序、但发现了问题。  

    我将尝试前两个步骤。 非常感谢您的建议。

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

    是的、1或2一定会向您指出问题。 使用的编译器版本或优化级别有时会产生略有不同的输出。

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

    您好、Haresh、

    我已尝试步骤1"导入旧版 CCSv3.3"、并收到此错误消息。 你有什么建议吗?

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

    恐怕我不熟悉这些错误。 让我与 CCS 团队中的某个人进行联系。 在此期间、请尝试#2。

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

    Huy、

                   我与一位 CCS 专家进行了核对,他这样说:“3.3->12.0迁移是一个巨大的飞跃,对于任何非简单的项目,我都期望有各种问题。 我认为,从新项目开始,在这种情况下是正确的选择”。 因此、请忽略我的建议#1并关注#2。 我确信闪存映像会有所不同。 然后、您可以更深入地探究导致差异的原因。 它可能处于编译器版本或优化设置中。