TI中文支持网
TI专业的中文技术问题搜集分享网站

28335的bug怎么解决

在28335  Silicon Errata  Literature Number: SPRZ272G

中有写到

Advisory Memory: Possible Incorrect Operation of XINTF Module After Power Up
Revision(s) Affected 0, A
Details The XINTF module may not get reset properly upon power up. When this happens,
accesses to XINTF addresses may cause the CPU to hang. This issue occurs only upon
power up. It does not happen for other resets such as a reset initiated by the watchdog
or an external (warm) reset using the XRS pin.
Workaround(s) After coming out of reset, software should force a watchdog (WD) reset if WDFLAG = 0
in the WDCR register. WDFLAG = 0 implies that an external reset occurred, for example,
a power-on reset. After exiting the WD reset, WDFLAG will be 1. In this case, software
should clear the WDFLAG bit before continuing normal code execution. This issue
affects only the XINTF module.

即XINTF模块可能因为上电使DSP宕机,但是这个说明不是很清楚

有能给讲明白,提供解决方案的吗?比如说上电后怎么弄 能避免这个问题

mangui zhang:

上电XINTF的地址会导致CPU挂起   复位等不会出现这种情况的

 

在28335  Silicon Errata  Literature Number: SPRZ272G

中有写到

Advisory Memory: Possible Incorrect Operation of XINTF Module After Power Up
Revision(s) Affected 0, A
Details The XINTF module may not get reset properly upon power up. When this happens,
accesses to XINTF addresses may cause the CPU to hang. This issue occurs only upon
power up. It does not happen for other resets such as a reset initiated by the watchdog
or an external (warm) reset using the XRS pin.
Workaround(s) After coming out of reset, software should force a watchdog (WD) reset if WDFLAG = 0
in the WDCR register. WDFLAG = 0 implies that an external reset occurred, for example,
a power-on reset. After exiting the WD reset, WDFLAG will be 1. In this case, software
should clear the WDFLAG bit before continuing normal code execution. This issue
affects only the XINTF module.

即XINTF模块可能因为上电使DSP宕机,但是这个说明不是很清楚

有能给讲明白,提供解决方案的吗?比如说上电后怎么弄 能避免这个问题

dia son:

回复 mangui zhang:

解决方案呢

在28335  Silicon Errata  Literature Number: SPRZ272G

中有写到

Advisory Memory: Possible Incorrect Operation of XINTF Module After Power Up
Revision(s) Affected 0, A
Details The XINTF module may not get reset properly upon power up. When this happens,
accesses to XINTF addresses may cause the CPU to hang. This issue occurs only upon
power up. It does not happen for other resets such as a reset initiated by the watchdog
or an external (warm) reset using the XRS pin.
Workaround(s) After coming out of reset, software should force a watchdog (WD) reset if WDFLAG = 0
in the WDCR register. WDFLAG = 0 implies that an external reset occurred, for example,
a power-on reset. After exiting the WD reset, WDFLAG will be 1. In this case, software
should clear the WDFLAG bit before continuing normal code execution. This issue
affects only the XINTF module.

即XINTF模块可能因为上电使DSP宕机,但是这个说明不是很清楚

有能给讲明白,提供解决方案的吗?比如说上电后怎么弄 能避免这个问题

mangui zhang:

回复 Eric Ma:

Eric,

      您的讲解非常详细,一下明白了。上电后怎么能快速让看门狗只复位一次呢 

这个不知较好的解决思路是什么,请教,谢谢。

在28335  Silicon Errata  Literature Number: SPRZ272G

中有写到

Advisory Memory: Possible Incorrect Operation of XINTF Module After Power Up
Revision(s) Affected 0, A
Details The XINTF module may not get reset properly upon power up. When this happens,
accesses to XINTF addresses may cause the CPU to hang. This issue occurs only upon
power up. It does not happen for other resets such as a reset initiated by the watchdog
or an external (warm) reset using the XRS pin.
Workaround(s) After coming out of reset, software should force a watchdog (WD) reset if WDFLAG = 0
in the WDCR register. WDFLAG = 0 implies that an external reset occurred, for example,
a power-on reset. After exiting the WD reset, WDFLAG will be 1. In this case, software
should clear the WDFLAG bit before continuing normal code execution. This issue
affects only the XINTF module.

即XINTF模块可能因为上电使DSP宕机,但是这个说明不是很清楚

有能给讲明白,提供解决方案的吗?比如说上电后怎么弄 能避免这个问题

dia son:

回复 Eric Ma:

你的回答很让人满意,还有最后一个问题,他说看门狗复位后如果检测到WDFLAG == 1 ,就清除该位,不知道为什么要这么做 

貌似没有必要

在28335  Silicon Errata  Literature Number: SPRZ272G

中有写到

Advisory Memory: Possible Incorrect Operation of XINTF Module After Power Up
Revision(s) Affected 0, A
Details The XINTF module may not get reset properly upon power up. When this happens,
accesses to XINTF addresses may cause the CPU to hang. This issue occurs only upon
power up. It does not happen for other resets such as a reset initiated by the watchdog
or an external (warm) reset using the XRS pin.
Workaround(s) After coming out of reset, software should force a watchdog (WD) reset if WDFLAG = 0
in the WDCR register. WDFLAG = 0 implies that an external reset occurred, for example,
a power-on reset. After exiting the WD reset, WDFLAG will be 1. In this case, software
should clear the WDFLAG bit before continuing normal code execution. This issue
affects only the XINTF module.

即XINTF模块可能因为上电使DSP宕机,但是这个说明不是很清楚

有能给讲明白,提供解决方案的吗?比如说上电后怎么弄 能避免这个问题

jian liu:

回复 Eric Ma:

WDFLAG在编译器中默认是没有的,写程序判断SysCtrlRegs.WDCR&0x80是否为0来判断是不是上电复位,可实际应用一直检测到该位为1,即看门狗复位;

复位电路选用TI推荐的PS767D301的方式;

相关测试程序如下

 上电运行:

EALLOW; DogState= SysCtrlRegs.WDCR; if( DogState & 0x80 == 0 ) //WDFLAG = 0,表示是上电复位,需要进行看门狗复位 { Tpoweron=1; } EDIS;

然后关狗,

主程序中代码如下:

if(Tpoweron) SCIB_TXD( 0x11 ); else SCIB_TXD( 0x00 ); wait_1us( 100000 );

上电复位和按键复位,使用串口调试助手接收到一直是0x00;

这边用了几百片28335,基本上都有XINTF访问死机的情况,测试到有1片出现的特别频繁

赞(0)
未经允许不得转载:TI中文支持网 » 28335的bug怎么解决
分享到: 更多 (0)