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.

[参考译文] TMS320F28379S:没有来自 EABI 格式的闪存内核的响应。

Guru**** 2857210 points

Other Parts Discussed in Thread: TMS320F28379S, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1634374/tms320f28379s-no-response-from-the-eabi-formatted-flash-kernel

器件型号: TMS320F28379S
主题: C2000WARE 中讨论的其他器件

大家好:

 

我们目前正在为 F28379S 开发闪存内核、但其未按预期运行。

 

存在许多风险

 CPU: TMS320F28379S
 CCS: 12.7.1.
 系统配置: SecondaryBootloader + Application
 输出格式: EABI (ELF)
 DCSM: 未使用
 闪存内核:
  C2000Ware_5_03_00_00/device_support/f2837xs/examples/cpu1/F2837xS sci_flash_kernel
 串行闪存编程器:
  C2000Ware_5_03_00_00\utilities\flash_programmers\serial_flash_programmer


问题

将上述闪存内核修改为 eabi (ELF) 格式并重新编译后、我尝试使用串行闪存编程器进行固件更新。

该进程在以下时间点停止(冻结):

...<snip>...
Bit rate /s of transfer was: 493.101196
Kernel loaded! Booting kernel...
Done waiting for kernel boot...
Attempting autobaud to send function message...

分析

//*****************************************************************************
//
// Locks baud rate.
//
//*****************************************************************************
void
autobaudLock(void)
{
    ...<snip>...
    while (dwRead == 0){
        ReadFile(file, &rcvData, 1, &dwRead, NULL);
    }
    ...<snip>...
}

这意味着没有从闪存内核接收到响应(“A"回“回波回波)。


其他调查

我发现信息表明hex2000文本输出需要以下选项:

--memwidth=16
--romwidth=16

添加这些选项后、行为略有改变、但在以下情况下仍会冻结:

...<snip>...
Bit rate /s of transfer was: 493.101196

公钥

我附加了闪存内核工程。

您能否回顾一下并指出闪存内核实现或配置存在任何问题?

如有任何指导或建议、将不胜感激。


此致

Takaaki

F2837xS_SCI_FlashKernel.zip 

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

    您好:

    您为什么 SCI 引导选项配置器件?  闪存内核当前配置为将 GPIO29/28 用于 Tx/GPIO29 Rx:

    EntryAddr = SCI_GetFunction(SCI_BOOT_ALTERNATE);

    此致、
    马特

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

    您好、Matt

    感谢您对我的线程的持续支持。
    您为设备配置了什么 SCI 引导选项?

    我们的硬件板使用设计和制造 SCI-A 一方 GPIO84 85 ( 默认值 )。

    根据您的建议、我做了更改  SCI_BOOT_ALTERNATE 最终目的  SCI_BOOT、它现在可以正常工作。

    P.S.

    出于好奇心、为什么 F28379S 示例默认情况下使用 SCI_BOOT_ALTERNATE ...? Thinkingμ s


    此致、

    Takaaki

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

    您好:

    很高兴听到! 这是一个很常见的问题 — 我们的 F2837xD controlCARD 将  带 SCI Tx/SCI 的 GPIO29/28 路由 Rx 到板载调试器的串行接口。 创建此 闪存内核示例的任何人都必须一直在使用此 EVM 进行测试和开发。

    资料来源: https://www.ti.com/lit/ug/sprui76/sprui76.pdf

    此致、
    马特

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

    您好、Matt

    这是一个很常见的问题 — 我们的 F2837xD controlCARD 将  带 SCI Tx/SCI 的 GPIO29/28 路由 Rx 到板载调试器的串行接口。 创建此 闪存内核示例的人员必须一直使用此 EVM 进行测试和开发。

    感谢您的解释。 这是很有道理的现在!

    我们非常感谢您对解决此问题的支持。

    我们期待着您的持续支持与合作。


    此致、

    Takaaki