微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > UCD3138064无法再次烧录,无法转ROM模式

UCD3138064无法再次烧录,无法转ROM模式

时间:10-02 整理:3721RD 点击:

手上的UCD3138064EVM-166不小心错烧录了UCD3138的程序,因为校验和是对的,所以上电后直接从BOOT ROM转到FLASH,但是FLASH的程序又不能正常运行,所以无法再次转BOOT ROM。

前段时间恰好看到应用文章“ 如何防止 UCD3138无法再次烧录”,文中提到出现这种情况“如果 PMBus 不能正常通信,这时可以将Fault 3 引脚接低电平,再复位芯片,这样也可以回到ROM 模式”。但是尝试很多次仍不能回到ROM模式。

想问一下,除了要将Fault 3 引脚接低电平,再复位芯片,还有其它要注意的吗?还是这个方法只适用UCD3138,对UCD3138064不适用?

之前有遇到类似的情况,整了好久,不行,后面直接换了一片就可以了,楼主可以等等回答,如果没有回答,还是换一个好了,不然耽误时间

我纠结的不是换一片的问题,是想了解应用文档里面介绍的方法是否可行。我的不行是不是跟BOOT ROM的版本有关系,还是其它原因。

在代码调试阶段,为了避免芯片出现无法再次烧录,可以在main函数的起始位置让clear_integrity_word在某个条件下执行,比如,某个IO为高电平或低电平时才运行。如下是一个代码示例,当出现芯片被锁死时,可以将FAULT3引脚接地,然后,复位芯片或掉电重启即可清除checksum并回到ROM模式。
if(GioRegs.FAULTIN.bit.FLT3_IN == 0)// Re-Check pin assignment
{
clear_integrity_word();
}

别人推荐的方法

你把这段程序有写在main函数的开始位置吗?

if(GioRegs.FAULTIN.bit.FLT3_IN == 0)// Re-Check pin assignment
{
clear_integrity_word();
}

Hi Max

在我产品的应用程序里面,我已经添加了类似你说的后门代码,一旦出现异常可以通过应用程序擦除校验字节,再次复位的时候可以进入BOOT ROM。

我现在想确认的是BOOT ROM本身有无类似的机制,在某个端口在复位阶段保持某个电平可以,让BOOT ROM不计算校验字节,进而不进入应用程序。是不是我误解了应用文档的意思。如果在应用程序留了后门,就不是无法再次烧录,也不是无法转ROM模式,我的理解是应用程序完全错误,后门程序都不能运行,而导致的无法转ROM的芯片,可以通过此种方法挽救。

Boot Rom中不需要校验,所以才让你留后门进入boot rom啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top