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.

[参考译文] TMS570LC4357:在看门狗超时复位后、应用程序代码不会运行

Guru**** 2391415 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1463553/tms570lc4357-after-reset-on-a-watchdog-time-out-the-application-code-does-not-run

器件型号:TMS570LC4357

工具与软件:

您好!

我已阅读文章标题为:  TMS570LC4357:WDT 处理-在看门狗复位时

我通过以下方式使用看门狗:

void startWatchDog(void)
{
    /*watch dog*/
    dwdInit(WDOG_REG, WDOG_TIMEOUT); //set pre scaler and timer to use
    dwdCounterEnable(WDOG_REG); //turn on
}

/*************************************************************************************
 * Function name   : petWatchdog()
 * Description     : reset the watch dog
 *
 * @return - nothing
 ***************************************************************************************/
void petWatchDog(void)
{
    dwdReset(WDOG_REG); //reset watchdog
}


在看门狗超时且 MCU 复位后、应用程序不会恢复、即使在从读取引用的帖子中添加了以下位后也不会出现任何情况。

下面是几个问题:
在看门狗超时后的文档中、它讨论了两个选项:发生复位或发生不可屏蔽中断、如何针对非窗口式看门狗配置该选项、或者唯一的复位选择是如何配置该选项?

2.在文档中、特别是"系统异常状态寄存器"中、它表示一个看门狗复位的标志位于第13位、在引用帖子中的示例中、它使用文档中显示位12未被使用的位。

 我在您的示例中添加了以下 hl_sys_startup.c

case WATCHDOG_RESET:
case WATCHDOG2_RESET:

	/* USER CODE BEGIN (15) */
	_memInit_();
	if (_errata_SSWF021_45_both_plls(PLL_RETRIES) != 0U)
	{
		/* Put system in a safe state */
		handlePLLLockFail();
	}
	_coreEnableEventBusExport_();
	systemInit();
	_coreEnableIrqVicOffset_();
	vimInit();
	esmInit();
	/* USER CODE END */
	break;

为什么不使用条件语句 WATCHDOG_RESET、它在条件语句中的作用是什么?

谢谢

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

    您好、Joe。

    Unknown 说:
    TMS570LC4357:如何使用数字看门狗-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    请参阅上面的主题、我在这里解释了如何为看门狗配置 NMI 和复位以及他们的示例。

    Unknown 说:
    2. 在文档中、特别是"系统异常状态寄存器"、它表示看门狗复位的标志位于第13位、在所引用的帖子中、它使用文档中表示未使用第12位的位...[/QUOT]

    也有位13、对吧? 位12和13都用于识别看门狗复位。 我不知道他们保留第12位和第13位用于看门狗的确切原因、我怀疑是因为与其他较旧的器件修订版兼容。

    ——

    谢谢、此致、
    Jagadish。