嗨对话团队,
当DA14638提出,ocurrs __BKPT(0)。
如何分析这类问题。
请帮我查一下。
谢谢。
__RETAINED_CODE void hw_watchdog_handle_int(unsigned long *exception_args)
{
//由于WDOG超时到达此点
uint16_t pmu_ctrl_reg = CRG_TOP-> pmu_ctrl_reg;
pmu_ctrl_reg |= ((1 << CRG_TOP_PMU_CTRL_REG_BLE_SLEEP_Pos) | /*关闭BLE */
(1 << CRG_TOP_PMU_CTRL_REG_FTDF_SLEEP_Pos) | /*关闭FTDF */
(1 << CRG_TOP_PMU_CTRL_REG_RADIO_SLEEP_Pos) | /*关闭无线电PD */
(1 < < CRG_TOP_PMU_CTRL_REG_PERIPH_SLEEP_Pos));/*关闭外部电源域*/
CRG_TOP - > PMU_CTRL_REG = PMU_CTRL_REG;
REG_SET_BIT (CRG_TOP CLK_RADIO_REG BLE_LP_RESET);/*复位BLE LP定时器*/
#if (dg_configIMAGE_SETUP == DEVELOPMENT_MODE)
hw_watchdog_freeze ();/ /停止WDOG
ENABLE_DEBUGGER;
if (exception_args != NULL) {
*(volatile unsigned long *)(STATUS_BASE) = exception_args[0];/ / R0
*(volatile unsigned long *)(STATUS_BASE + 0x04) = exception_args[1];/ / R1
*(volatile unsigned long *)(STATUS_BASE + 0x08) = exception_args[2];/ / R2
*(volatile unsigned long *)(STATUS_BASE + 0x0C) = exception_args[3];/ / R3
*(volatile unsigned long *)(STATUS_BASE + 0x10) = exception_args[4];/ / R12
*(volatile unsigned long *)(STATUS_BASE + 0x14) = exception_args[5];/ / LR
*(volatile unsigned long *)(STATUS_BASE + 0x18) = exception_args[6];/ /电脑
*(volatile unsigned long *)(STATUS_BASE + 0x1C) = exception_args[7];/ / PSR
*(volatile unsigned long *)(STATUS_BASE + 0x20) = (unsigned long)exception_args;/ /堆栈指针
*(volatile unsigned long *)(STATUS_BASE + 0x24) = (*((volatile unsigned long *)(0xE000ED28));/ / CFSR
*(volatile unsigned long *)(STATUS_BASE + 0x28) = (*((volatile unsigned long *)(0xE000ED2C));/ / HFSR
*(volatile unsigned long *)(STATUS_BASE + 0x2C) = (*((volatile unsigned long *)(0xE000ED30));/ / DFSR
*(volatile unsigned long *)(STATUS_BASE + 0x30) = (*((volatile unsigned long *)(0xE000ED3C));/ / AFSR
*(volatile unsigned long *)(STATUS_BASE + 0x34) = (*((volatile unsigned long *)(0xE000ED34));/ / MMAR
*(volatile unsigned long *)(STATUS_BASE + 0x38) = (*((volatile unsigned long *)(0xE000ED38));/ / BFAR
}
hw_cpm_assert_trigger_gpio ();
if (REG_GETF(CRG_TOP, SYS_STAT_REG, DBG_IS_ACTIVE)) {
__BKPT(0);//调试时停止。
}
其他{
(1);
}
# // dg_configIMAGE_SETUP == DEVELOPMENT_MODE
if (exception_args != NULL) {
nmi_event_data [0] = NMI_MAGIC_NUMBER;
nmi_event_data [1] = exception_args [0];/ / R0
nmi_event_data [2] = exception_args [1];/ / R1
nmi_event_data [3] = exception_args [2];/ / R2
nmi_event_data [4] = exception_args [3];/ / R3
nmi_event_data [5] = exception_args [4];/ / R12
nmi_event_data [6] = exception_args [5];/ / LR
nmi_event_data [7] = exception_args [6];/ /电脑
nmi_event_data [8] = exception_args [7];/ / PSR
}
//等待复位发生
(1);
#endif // dg_configIMAGE_SETUP == DEVELOPMENT_MODE
}

我附上截图。
嗨xuguodong,
请再次检查您的最后评论,并尝试附加正确的文件-在这里,我们只能提供对Dialog产品的支持。雷电竞官网登录
关于你最初提出的问题,请查阅调试技术教程为了分析WDOG..
谢谢,PM_Dialog
谢谢你的回复。