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:SCI 引导模式

Guru**** 2558250 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/989167/tms320f28069-sci-boot-mode

器件型号:TMS320F28069

您好!

我们正在为 Piccolo-C2000 (TMS320F2806M)微控制器实施固件升级。 在我们的系统 中、Piccolo 通过 UART 连接到另一个微控制器(MSP432)。 我们将 SCI-A 用于 Piccolo 和 MSP432之间的通信。 我们的计划是 在需要固件升级时使用 MSP432的 SCI 引导模式升级 piccolo。 正常工作时、请同时使用
控制器将使用我们定义的数据包格式进行通信。

Piccolo 的引导模式选择 GPIO 按如下方式连接(永久连接、不使用开关)。

GPIO37 TDO -高电平
GPIO34 -高电平
TRST -低电平

根据此配置,独立引导模式为 GetMode。 因此、检查 OTP_KEY 和 OTP_BMODE 寄存器值以获得 引导模式。 如果我们在 OTP_KEY = 0x005A 且 OTP_BMODE = 0x0001时对 OTP 进行编程、则引导模式将为 SCI 引导模式。  我们的理解到了这一点。 我们需要对以下几点进行一些澄清。

如果我们使用0x0001对 OTP_BMODE 进行编程以启用使用 SCI 引导模式进行固件升级、升级后可以将 OTP_BMODE 更改为0x000B 以在正常操作中从闪存引导?

2.如果一旦 OTP_BMODE 编程为0x0001 (GetMode:FLASH)、我们无法将 OTP_BMODE 更改为0x000B (GetMode:SCI)、 我们如何在固件升级后执行正常应用程序。 根据我的理解、每次复位后将进入 SCI 引导模式。 如何退出 SCI 引导模式?  

3.我们是否需要加载闪存内核进行闪存编程?

此致、

Shijo Thomas

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

    您不能多次更改 OTP 值。

    您需要将默认配置保留为闪存引导、并在应用程序中决定是否要执行固件升级。 但此时无法重置器件。 这意味着您需要将用于闪存编程的闪存内核作为应用本身的一部分。

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

    Baskaran、您好!

    感谢您的回复。

    我不是完全理解这项建议。  

    您是说、在这种情况下、我们无法使用 SCI 引导模式?

    2.我们需要开发自己的固件升级 机制。

    3. 如果在 SCI 引导模式下启动、是否有任何方法可以跳转到应用程序?

    此致、

    Shijo Thomas

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

    1.您通常希望引导程序闪存以引导应用程序。 要进入 sci 引导、您需要驱动引脚以选择 sci 引导模式。 如果不可能、则无法使用 SCI 引导模式

    2.是的,您需要将固件升级代码作为应用程序的一部分

    3.通常不会 但是、如果在 SCI 数据包中传递无效标头、则将进入闪存引导模式(请参阅 TRM 的图2-13)。

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

    感谢 Baskaran 的答复