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.

TMS320F28377D: 28377D看门狗强制复位失败

Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE

本人在调试28377D的看门狗复位功能时,发现有些板子可以正常复位,并从头开始运行程序,而有些板子则卡死在复位中,报如下错误:

C28xx_CPU1: Trouble Reading Register PC: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 8.4.0.00006)
C28xx_CPU1: Trouble Reading Register RPC: (Error -1137 @ 0x13) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 8.4.0.00006)

对比了可以成功复位和不能成功复位的XRS引脚的电平信号,发现:

1. 可以成功复位的芯片的XRS电平有一个短暂的下拉脉冲,应该是复位电平拉低后立即拉高,如下图所示:

2. 不能成功复位的芯片的XRS电平在下降沿后就一直处于低电平,如下图所示:

3. 同时RESET失败的芯片在断电重新上电后还可能出现XRS反复复位的情况,如下图所示:

上述的现象,需要使用烧录器重新烧录程序后,芯片才能正常工作

复位电路如下图所示:

其中RESET_DSP连接到28377D的XRS

开门狗强制复位的代码如下:

void WatchDogResetForBoot(void)
{
EALLOW;
WdRegs.WDKEY.bit.WDKEY = 0x0055;
WdRegs.WDKEY.bit.WDKEY = 0x00AA;
WdRegs.WDCR.all = 0x0028;

WdRegs.WDKEY.bit.WDKEY = 0x00;

EDIS;
}