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.

[参考译文] TMS320F28069:闪存在电源关闭后自动删除

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/838391/tms320f28069-flash-deletes-itself-on-power-cycle

器件型号:TMS320F28069
主题中讨论的其他器件:AFE031TMDSCNCD28069TMDSCNCD28069MISOC2000WARE

您好!

我上周使用 PLC 调制解调器开发套件 V3进行了工作和测试、并注意到我的闪存在下电上电时已被删除。 我尝试使用 C2Prog、CCS 和零配置 GUI 来刷写此代码、它在一个调制解调器上工作、但另一个调制解调器的控制卡似乎无法启动程序。 有什么关于如何解决此问题的想法吗? 谢谢

Jake

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

    你好、Jake、

    您如何在测试中发现闪存已被删除? 您是否能够连接到目标并查看使用 CCS 中的存储器浏览器删除了闪存部分? 还是闪存编程后从闪存引导时出现问题?

    需要检查的事项:

    • 对代码进行编程时、请确保将其设置为编程到闪存、而不是设置为运行并编程到 RAM
    • 验证 F2806x_CodeStartBranch.asm 是否在您的项目中、以便您的程序正确分支到 main
    • 检查 controlCARD 上引导选择引脚的状态。 默认情况下、GetMode 通常引导至闪存

    最棒的

    Kevin

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

    尊敬的 Kevin:

    例如、我将使用 G3SDK/软件/bin 文件夹中的.hex、Wireshark 捕获或 sbin 文件、使用 CCS 刷写工作中的调制解调器。 本教程说明了闪存后重启、因此我重新启动工作正常的闪存、F28069控制卡上的 LD1变为绿色、以显示其已通电。 然后、同一卡上的 LD3将与坞站的 LD5同时开始每两秒闪烁一次。 此闪烁周期将继续进行、并且只要调制解调器重新启动、闪烁就会重新启动。

    在出现故障的调制解调器上、我将相同的图像刷写到卡中。 完成该过程后、我可以点击 CCS 上的"Play"按钮、程序将启动与工作程序完全相同的闪烁过程。 如果我尝试对调制解调器进行下电上电、调制解调器将打开 F28069控制卡上的 LD1和坞站上的 LD1、但其他两个 LED 之间的闪烁过程将永远不会启动。 为了测试它只是 F28069控制卡、我在调制解调器之间切换了卡、然后刷新。 我发现、当切换到使用故障卡的底座时、最初工作的 F28069卡和在闪存和循环时 AFE031板工作正常。 然后,在工作坞站上使用有故障的卡时,问题再次出现。

    为了继续测试此过程、我在不进行下电上电的情况下向每个卡上启动了相同的 G3示例映像、并运行了零配置 GUI。 从这里、我可以看到工作中的调制解调器在运行 TX 或 RX PHY 测试时没有问题、而有故障的调制解调器设置只能接收和不发送数据。 为了再次检查它是否只是传输、我使用 ZCG 从有故障的调制解调器发送了一条消息到工作中的调制解调器的 ZCG、消息无法发送或显示在另一侧。 当我从工作设置发送一条消息到有故障的设置时、它会在有故障的 ZCG 上显示该消息、但工作设备的 ZCG 仍会说消息发送失败、因为有故障的调制解调器无法发回任何确认信号。

    我可以在内存浏览器中看到闪存部分被删除、并在闪存时写入、但似乎系统不会默认从闪存启动。 我仔细检查了控制卡的开关设置、但它们与工作卡的设置相同。

    请告诉我您的想法、并感谢您的帮助!

    Jake

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

    你好、Jake、

    您使用的是哪款 F2806x controlCARD? 是 TMDSCNCD28069还是 TMDSCNCD28069MISO? 开关1的状态是什么? 即使用哪种引导模式?

    [引用用户="Jake Howard)]我可以在内存浏览器中看到闪存部分被删除并在闪存时写入、但似乎系统不会默认从闪存启动。 我仔细检查了控制卡的开关设置、但它们与工作卡的设置相同。

    好的、因此对闪存进行编程是成功的、这似乎是一个引导问题。 在闪存和下电上电后、如果您重新连接到 CCS 中的故障 controlCARD 并检查闪存数据、那么一切都在那里、应该是这样吗?

    要执行简单的测试、您可以尝试从闪存运行其中一个 C2000ware 示例、可能是"time_led_blink"示例。

    • 将示例导入到 CCS 中:C:\ti\c2000Ware_2_00_00_02\device_support\f28066\examples\c28\timed_led_blink
    • 将闪存链接器命令文件添加到工程中并将其设置为使用。 使用下面的 F28069.cmd
      • C:\ti\c2000\C2000Ware_2_00_00_02\device_support\f2806x\con\cmd
    • 将 F2806x_CodeStartBranch.asm 添加到工程中:
      • C:\ti\c2000\C2000Ware_2_00_00_02\device_support\f2806x\con\source

    查看从闪存中运行上述示例是否按预期运行。

    最棒的

    Kevin

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

    你好、Jake、

    是否成功从闪存运行示例? 您是否能够解决此问题?

    最棒的

    Kevin