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:引导加载程序:无法再次返回 DFU 模式。

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1158245/tms320f28069-bootloader-impossible-to-return-to-dfu-mode-a-second-time

器件型号:TMS320F28069

您好!

请参阅以下主题: TMS320F28069:Bootloader:无法返回到 DFU 模式。 (F28069)- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛

最后、我找到了一种使用自定义代码进入 DFU 模式的解决方案。

我只需在新的 C 文件中重写它  

USBDCDTerm (0);

IER = 0;

//重置 USB 外设
//
SysCtlPeripheralEnable (SYSCTL_Periph_USB0);
SysCtlPeripheralReset (SYSCTL_Periph_USB0);
SysCtlPeripheralDisable (SYSCTL_Periph_USB0);

//等待大约一秒钟。
//SysCtlDelay (SysCtlClockGet ()/ 20);

IntMasterEnable();

((((void (*.)(void)pBootEntry))();

//不应该出现在这里,而是以防万一。
//
while (1)

------------------------------

总结:  

将引导加载程序加载到 µC =>确定

通过 USB 将自定义代码加载到 µC => OK

返回 DFU 模式=>正常

将自定义代码重新编程到 µC =>失败。

我能够将自定义代码加载到 µC μ s 并以 DFU 模式返回、但如果我想更新相同的自定义代码或清除闪存、我遇到了此错误。 DFU_ERR_unknow (-4)正在读取闪存。

如屏幕截图所示,设计是可见的。

我看到 TI 扩展支持目标更改。

从这里到   这里  

当我对引导加载程序进行编程时,TI 扩展名为 修订版 A¤。

当我使用 BL 应用程序(例如 TI)时、我能够通过 USB 多次上传 BL_APP 代码。  TI 扩展 名为修订版 A¤

当我使用自定义代码时、我只能通过 USB 上传一次代码。  将 TI 扩展版本更改为修订版 A0。

版本更改和读取闪存存储器失败之间是否存在链接? 如何解决?

感谢您的支持。

Alain。

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

    您好、Alain、 我们正在努力将您的问题分配给合适的人。  您应在24小时内听到反馈。  

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

    您好、Lori、

    感谢您的考虑。  我期待看到您的回答。

    此致

    Alain

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

    尊敬的 Alain:

    感谢您提交此问题。 需要一些时间来收集有关 DFU 错误的更多信息、然后会返回给您。

    此致、

    查尔斯

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

    您好、Charles、

    在这个问题上有任何进展?

    ----------

    我看到在 DFU C ++代码中、修订版应随时为 A0。

    ----

    dfuprog.cpp 摘录:

    QUIETPRINT ("TI 扩展:%s\n"、psDevInfo->bSupportsTivaExtensions?
    "支持":"不支持");
    if (psDevInfo->bSupportsTivaExtensions)

    QUIETPRINT ("目标:%s 修订版本%c%c\n"、
    psDevInfo->pcPartNumber、
    psDevInfo->cRevisionMajor +'A'、
    psDevInfo->cRevisionMinor +'0');

    ----------

    但我始终得到¤μ A、这是我第一次得到 A0。

    谢谢你

    Alain

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

    Alain、

    您是否能够使其正常工作?  

    此致

    Siddharth