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.

[参考译文] TMS320F28075:TMS320F28075:编程 Z1_BOOTCTRL = 0x815A 后闪存引导失败

Guru**** 2856960 points

Other Parts Discussed in Thread: C2000WARE, TMS320F28075

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1635349/tms320f28075-tms320f28075-flash-boot-failing-after-programming-z1_bootctrl-0x815a

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

我做了什么:
我使用值 0x0000815A 对 Z1_BOOTCTRL 寄存器 (OTP) 进行了编程。
密钥:0x5A
BMODE:0x81(用于 SCI 引导选项 2:GPIO28/29)
BOOTPIN0/1:0x00(默认为 GPIO84 和 GPIO72)
问题:
当 GPIO84=1 且 GPIO72=1 时、器件无法从闪存引导、并显示进入 SCI 引导模式。 我可以使用 TI 的串行闪存编程工具对器件进行刷写
当引脚为高电平时、串行闪存编程器在 GPIO28/29 上工作、但无法从闪存独立执行。
当我将 GPIO72 拉至低电平且 GPIO84 拉至高电平时、在使用串行闪存编程器进行测试时、sci 引导内核不会加载。

向 TI 专家提问:
在 Z1_BOOTCTRL 中设置 BMODE = 0x81 是否会将器件硬编码为 SCI 引导、从而有效地忽略 GPIO84/72 引脚逻辑以实现“获取模式“(闪存)?
F28075 允许 GPIO84/72 在 GPIO28/29 上的闪存和 SCI 引导之间切换的正确 BMODE 或 BOOT_DEF 配置是什么?

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

    您好:

    关于您的问题:

    Q1:BMODE = 0x81 硬代码 SCI 引导并忽略 GPIO84/72 吗?

    否、始终读取 GPIO 引脚。 当 GPIO84 = 1 且 GPIO72 = 1 时、引导 ROM 解码引导模式= 3 (“获取模式“)。 Get Mode(获取模式) 、然后从 OTP→SCI Boot 1 on GPIO29 (TX)/ GPIO28 (RX) 读取 BMODE = 0x81。  


    问题 2:GPIO84/72 在 GPIO28/29 上的闪存和 SCI 引导之间切换的正确 BMODE 是什么?

     GPIO28/29 上的 SCI 引导 1 的 0x0000815A 有效。 但是,它不提供独立闪存引导的路径 — 如果每次执行 SCI 引导加载程序、则只会等待主机自动波特率字符。

    若要仍使用 GPIO84=1、GPIO72=1 以获取闪存引导、BMODE 必须为 0x0B:
    正确的 OTP 值为:0x00000B5A
    KEY = 0x5A BMODE = 0x0B(闪存引导,条目 0x00080000)
    BMSP0 = 0x00 BMSP1 = 0x00(默认引导模式选择引脚 GPIO84/GPIO72)


    为什么 GPIO72 = 0、GPIO84 = 1 在使用串行闪存编程器时失败?

    GPIO72 = 0、GPIO84 = 1 解码至引导模式= 1 = SCI 引导 0、它使用 GPIO84 (TX)/GPIO85 (RX)—不是 GPIO28/29。 您的编程器可能处于该状态的错误引脚上。

    参考资料:

    • TRM 引导一章、例如、请参阅第 571,572,574,578、601 页 602.
    • F2807x 引导 ROM 源代码:  C:\ti\c2000\C2000Ware_26_00_00\libraries\boot_rom\f2807x\RevB\ROM_Sources\  

    此致、

    Allison

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

    感谢您的详细回答。
    我想确认、如果 OTP 为 0x0B5A、并且状态为 GPIO 72 和 GPIO 84、我可以在闪存引导和 sci 引导之间切换。

     在我们的设计中、我还有一些与设计相关的问题、我们使用 tms320f28075 的 EMIF 引脚连接了 SRAM。

    a) GPIO85 用作 SCIARX 和 EM1D0。 它在固件更新过程中是否不会在 SRAM 中造成任何数据损坏。  
    B)  在使用 EMIF 时、应用程序需要通过 SCI 进行有效通信、切换 GPyMUX 寄存器是否会导致 SRAM 总线上损坏或导致非法的存储器访问。


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

    尊敬的 Gustavo:

    请 允许我再过一天作出答复  

    此致、

    Allison  

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

    尊敬的 Guarav:  

    当 GPIO72 = 1 时、GPIO84 = 1 -->获取模式--> BMODE = 0x0B -->闪存引导进入 0x80000

    其中 GPIO72 = 0、GPIO84 = 1 -> SCI 引导 0 -> GPIO84 (TX)/ GPIO85 ( RX)

    对于 (a) 和 (b)、由于这些是 EMIF 相关问题 — 请创建一个新主题,以便将其分配给合适的专家。  

    此致、

    Allison