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.

[参考译文] UCD3138128:在图像/应用程序之间切换

Guru**** 2387060 points
Other Parts Discussed in Thread: USB-TO-GPIO2, UCD3138A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1496436/ucd3138128-switching-between-image-applications

部件号:UCD3138128
Thread 中讨论的其他器件:USB 转 GPIO2UCD3138A

工具/软件:

我已经能够用一个应用程序对块0进行编程、用另一个应用程序对块2进行编程。

我可以使用 PMBus 在应用之间切换。

但是、我需要能够在固件的编程模式下在不同应用之间切换。

我找到了加载内存控制寄存器的函数:附加

调用函数后、如何让程序从新的块编号开始? 在执行这些函数之后、我似乎还需要执行一个步骤。

e2e.ti.com/.../New-Text-Document-_2800_3_2900_.txt

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

    你好、蝙蝠侠、

    您能详细说明一下您的问题吗? 您说过您可以在程序 block0之间切换到程序 block2。 但是、您仍然"需要能够在我的固件中的程序模式下在应用程序之间切换"。 我不明白您尝试在两者之间切换。

    此致、

    Jonathan Wong

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

    我可以使用 Fusion Digital Power Designer 中的存储器调试器来切换应用。 使用可用的"命令 ROM"执行其程序..."   

    但我想对固件执行相同的操作。  

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

    你好、蝙蝠侠、

    我明天会作出回应。

    此致、

    Jonathan Wong

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

    你好、蝙蝠侠、

    如果要在 UCD3138A 内将0xF0命令发送到地址11、会很难做到、因为这需要修改引导 ROM 固件。 引导 ROM 将需要一个外部 PMBus 命令来指示引导 ROM 切换到编程模式。 我们的示例通过 USB-TO-GPIO2适配器使用 Fusion GUI、但您还可以创建外部 PMBus 主机来发送相同的命令。

      

    独立的 Fusion API 可以在外部 MCU、自动 Windows 计算机或微型计算机(例如 Raspberry Pi)上复制。

    此致、

    Jonathan Wong

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

    在运行应用程序时、我不能奢侈地使用 PMB 总线命令。  

    我的工作是:

    在块0和块1中运行应用程序时、我在块2和块3中对新应用程序进行编程。

    然后、我要执行(或跳转到)新应用程序。  

    新应用程序应该能够执行相同的操作并跳回旧应用程序。

    (我想这样做、而无需通过引导加载程序重新编程引导加载程序校验和并使其无效)

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

    你好、蝙蝠侠、

    在块0+1与块2+3之间切换的触发器是什么? 例如、您要使用 GPIO 和外部信号触发此固件开关吗?

    此致、

    Jonathan Wong

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

    从另一个处理器通过 UART 命令该信号。 另一个处理器通过 UART 发送编程信息。 我的固件使用通过 UART 发送的数据对未使用的存储器块进行编程。  

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

    你好、蝙蝠侠、

    我通过私信向您发送了动态更新示例固件。 请尝试参考此固件。  下面是 Ian Bower 关于高级步骤的文章。  

    e2e.ti.com/.../7652.On_2D00_the_2D00_fly-power-supply-firmware-upgrades.docx

    此致、

    Jonathan Wong

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

    感谢您提供的信息。 这比我预期的要复杂得多。 我没有分配足够的时间按照建议的方式实现、因此我只需使用新应用程序重新编程未使用的存储器块、写入适当的校验和、清除旧的应用程序校验和、然后重置、让 ROM 引导处理程序接管操作。

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

    你好、蝙蝠侠、

    感谢您告诉我们。 动态更新是我们在 UCD3138x 中的不同程序之间切换的建议方法。

    此致、

    Jonathan Wong