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.

[参考译文] TMS320F28054F:通过引导加载程序进行编程

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/814346/tms320f28054f-programming-via-bootloader

器件型号:TMS320F28054F

我正在尝试通过引导加载程序对闪存进行编程。

我在 PC 上使用 serial_flash_programmer 和 C2000示例中的 f28055_flash_kernel。

由于受保护的 L0 RAM、我已经使用28054f_RAM_lnk.cmd 重建了这个内核。

serial_flash_programmer 的输出如下所示:

在出现"Application Autobaud Successful (应用程序自动波特率成功)"消息后、程序挂起、应使用 CTRL_C 终止

在应用程序自动波特率检查之后、加载内核5秒后、传输两个数据块的波特率为1067和2065字节(根据传输时间计算得出)。

应用程序自动波特率检查后、传输22个字节、但随后无响应、如果闪存包含有效程序、则此程序在此点启动。

要在复位期间选择 SCI 引导模式 GPIO_34为高电平并且 GPIO_37被拉低、该引导加载程序选择引脚在此状态下应保持多长时间?

什么地方出错了?

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

    您好!

    引导模式选择引脚只需保持在该状态足够长的时间、即可选择引导模式。 如果您已经进入 SCI 引导模式、那么这已经足够长了。

    您的描述和屏幕截图让我有点困惑、因为它们没有为我贴标。

    您首先说、在应用程序自动波特率成功后、您会看到发送了两个大型数据块。  

    但是、您随后说过、在应用自动波特成功后、只发送22个字节而没有响应。

    我不能确定其中哪一项陈述是准确的。

    您可以在平均时间内执行四项操作...

    1) 1)查看内核和 PC 之间的通信流程。 请确保您了解这一点。 它将帮助我们进行调试。

    2) 2)请确保您尝试编程的闪存应用程序完全链接到闪存。

    3) 3)确保正确加载内核以取消 RAM 的安全、然后可以执行该 RAM。 此外、确保从不安全 RAM 运行的内核尝试对也不安全的闪存进行编程。 此外、请确保内核正在接收的数据正在写入不安全 RAM 中的缓冲区。 由于它看起来您正在使用 CSM、因此您需要检查安全设置并确保可以完成您正在执行的操作。

    4) 4)确保内核首先擦除您尝试编程的所有闪存扇区。 默认内核可能不会擦除设备上所有可用的扇区。

    SAL

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

    你(们)好

    感谢您的快速响应、我已经监控了 CPU 和 PC 之间的通信、如屏幕截图所示。

    我已经更改了要擦除的闪存扇区、现在我能够将应用加载到闪存中。

    只有应用程序在闪存后未启动、CPU 似乎处于复位状态、在复位后、程序正在运行。

    绿色是从 PC 传输的数据、黄色是从 PC 传输的数据、在最后一个块确认后、它看起来很淡、PC 发送到具有零的字节、然后 SCI 的输出下降至1.5V。 端口看起来是切换到输入。 应用程序也使用此端口、因此输出应保持高电平。

    这不是一个真正的问题、因为在更新软件后、CPU 总是会被复位。

    此致、

    1月

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

    您好!

    它看起来就像您说的那样。 固件正在更新并完成。 PC 正在发送零以指示没有更多数据。 但器件未执行更新的固件。

    加载闪存应用程序时、您能否检查输入地址是什么?

    您可能需要使用 CCS 进行调试以检查条目地址。 此外、您还可以在闪存应用程序已接收并编程后设置断点、以查看 CPU 的下一个位置。 它应分支到应用程序的入口地址。 但是、在我看来、这对您来说似乎不是很合适。

    SAL