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.

[参考译文] TPS25751:I²C μ A 主机加载补丁–卡在引导标志0x05中

Guru**** 2482225 points
Other Parts Discussed in Thread: TPS25751

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1503277/tps25751-patch-load-via-i2c-host-stuck-in-boot-flags-0x05

器件型号:TPS25751

工具/软件:

您好:

我正在处理一个涉及的项目 TPS25751 、并且感谢您帮助确认或纠正我们的方法 通过 I²C Ω 主机控制器(STM32)加载补丁

设置概述

  • TPS25751D 由 VBUS 供电(USB PD 源输入)

  • 未连接 EEPROM

  • 将 STM32G070 用作 I²C 主机

  • 使用 TI 应用程序自定义工具生成的修补程序(exported.json.c.bin)

  • I²C 确认在地址0x20 (安全模式)处通信正常工作

  • 使用目标 I²C 引脚进行补丁交付(不是控制器 I²C)

  • ADCIN1 = 3.3V (代码7)、ADCIN2 = GND (代码0)→SafeMode + I²C 地址#1

工作原理

  • 启动后检测到 TPS25751 (Boot Flags = 0x05Mode = 0x04)

  • I²C 补丁交付工作:

    • 补丁数组是 EEPROM 样式:从16字节块中的地址0x00发送

    • 所有字节均已成功传输(通过调试打印确认)

  • 补丁加载后读取寄存器:

    • Boot Flags = 0x05

    • Mode = 0x04

    • 但从不进入Boot Flags = 0x07(APP 模式)

什么不起作用

  • TPS 切勿跳转到 APP 模式 即使在补丁加载完毕后(0x1E00字节)

  • 已尝试多种补丁格式:全闪存(,).c.bin、仅低区域、已知良好的测试阵列

  • 实施的 PBMs 协议:

    • 将7字节捆绑包描述符写入DATAx寄存器

    • 写入CMD1 = 0x01来启动 PBM

    • TPS 以CMD1 = 0x04一致的方式响应(命令被拒绝)

    • DATA1始终显示错误(非0x00)

  • 已验证:

    • I²C 地址= 0x20

    • 补丁大小正确(7680字节)

    • 超时是合理的(0x20 = 3.2s)

请确认 正确的程序 在 SafeMode I²C I ² C 主机为 TPS25751加载补丁?

具体来说:

  1. 是否有.bin.c保证的官方或出口格式 μ I²C 主机可加载 ,有应用程序跳转条目?

  2. 需要 PBMs 、或者0x00在 SafeMode 中 EEPROM 样式的 I²C 负载是否足够?

  3. CMD1 = 0x04PBM 期间具体表示什么?

  4. 您能否.bin.cBoot Flags = 0x07经 I²C 验证可达到的 SafeMode 测试提供最小或补丁捆绑包?

集成商 每次上电时从 STM32加载补丁 、而无需外部 EEPROM。 非常感谢您帮助确认这些步骤(或提供已知良好的修补程序)。

感谢您的时间和支持、

此致、

Sergey

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

    您好:

    请查找附件。   

    /cfs-file/__key/communityserver-discussions-components-files/196/cobraPlus_5F00_PMBs_5F00_DBFg.csv

    即使在更新发生后、系统似乎也未通过 VIN_3V3供电、因此请勿清除电池电量耗尽标志、因为这会导致 PD 尝试从 VIN_3V3供电。

    Unknown 说:
    您能否确认 正确的程序 在安全模式下通过 I²C 主机为 TPS257
    加载补丁

    附加示例取自 EVM、并使用 alwaysEnableSink。  我没有安全模式示例。

    Unknown 说:
    是否有.bin.c保证的官方或出口格式 μ I²C 主机可加载 、带应用程序跳转条目?

    编号  没有官方的。  GUI 将以正确的格式导出文件。

    Unknown 说:
    CMD1 = 0x04在 PBM 期间究竟有什么含义?

    这是不清楚的。  很可能仅读取了指示大小的第一个字节。

    写入"PBMc"命令后、将读取 CMD 寄存器、直到其被清除。  随后读取数据以确认其已清除、然后读取模式以确认其处于 APP 模式。

    您能否.bin.c为安全模式测试提供一个最小或补丁捆绑包(Boot Flags = 0x07经验证可通过 I²C 获得)?

    引导标志= 0x07的含义是什么?  在 TRM 中、这些位指的是电池无电标志、保留字段和补丁标头错误。

    https://www.ti.com/lit/ug/slvucr8a/slvucr8a.pdf#page=35

    此致、

    Chris