大家好,我最近学习了 PMP23340_UCD 演示板。
我遇到了一个关于将代码下载到演示板的严重问题。
我曾尝试在调试过程中清除 DataFlash、但最终发现操作错误、PMBus 无法与芯片通信。
我尝试过解决此问题、在代码中发现了此问题。
该函数的这一行在程序代码中被注释掉、
因此、我希望知道如何解决这些问题?
期待您的回复、非常感谢!
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.
A Yang、您好!
该行代码用于调试固件、因为它提供了额外的硬件复位。 不需要该文件以用于生产、但出于调试目的、您可以使用该文件。 请参阅以下有关规范用途的 E2E 文章:
此致、
乔纳森·王
非常感谢、Jonathan。
很抱歉、您的回复中提到的讨论不能解决我的问题。 实际上,我考虑过它,并寻找一个解决方案。
但我注意到主程序中的代码被注释掉了。 后来,由于一些不适当的处理,出现了一些问题。
现在 GUI 显示:No devices found (未找到器件) No ROM detected (未检测到 ROM)。
如何解决这种情况下的问题? 只能替换芯片吗?
//Check to see if FAULT2 is pulled high and FAULT0 is pulled low. //If they are go to ROM. if (MiscAnalogRegs.GLBIOREAD.bit.FAULT2_IO_READ && !MiscAnalogRegs.GLBIOREAD.bit.FAULT3_IO_READ) { // pmbus_read_write_rom_mode(PMBUS_WRITE); }
此致。
尊敬的 Yang:
根据您的 GUI、您似乎无法在 ROM 模式或闪存模式下找到 UCD。 打开/关闭电源是否有任何帮助? 否则、您的芯片可能被锁定在闪存模式。 如果它被锁定在闪存模式下、除了使用新的芯片外、几乎没什么可做的。 包含硬件后门代码会很有用、因为这将确保您的芯片在闪存模式下不会被锁定。 代码被注释掉、这样用户就可以选择包含或不包含硬件后门。 尝试使用新的 UCD 芯片并取消注释硬件后门代码。
如需更多信息、请参阅此 E2E 博文: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1356278/ucd3138allcevm150-fault-pins-assignment-in-llc-evm-firmware
此致、
乔纳森·王
您好、A Yang。
请参阅有关 UCD 锁定闪存问题的培训实验视频: https://www.ti.com/video/series/introduction-to-digital-power-controllers.html。具体来说、"UCD3138数字电源工具:引导 ROM 和编程闪存校验和"在4:00分钟标记处讲述了锁定的闪存。
总之、代码中的一个潜在错误会使您的程序卡在循环中。 如果它卡在循环中、那么它将永远不会运行 PMBus_handler () ,允许 UCD 与 GUI 进行通信,无论 GUI 是处于 ROM 模式还是闪存模式。 因此、您的 UCD 将卡在闪存模式下、无法将 UCD 从循环中取出。 有一个硬件后门强制 UCD 执行 PMBus_handler () 硬件中断例程或强制 UCD 返回 ROM 模式将阻止您的 UCD 进入闪存模式。
我不确定您使用的是 Fusion Studio 设计 GUI 的原因。 UCD3xxx 器件 GUI 是您应该用于检测和刷写 UCD 固件的器件。
此致、
乔纳森·王