最新的SDK (1.0.12.1078)
你好,
所以我有这个演示(原始代码)在Pro DK上工作得很好,但当我试图在我自己的PCB上运行它时,我总是在调试模式下几秒钟后得到Watchdog定时器中断(NMI)。
我发现一个关键的区别,这是我自己的PCB没有一个32 kHz晶体,所以我使用32 kHz振荡器通过设置
#定义dg_configUSE_LP_CLK LP_CLK_RCX
在custom_config_qspi.h
然后我在Pro DK上尝试了这个构建,它也显示了这种行为(看门狗超时)。
这个问题似乎与在最初的广告之后进入睡眠模式有关。当振荡器被使用而不是XTAL时,看门狗会超时有一些原因吗?
谢谢,
摩根大通
设备:
嗨jpselc,
如果PCB没有XTAL 32 KHz,强烈建议使用以下三个选项之一:
#定义dg_configUSE_LP_CLK LP_CLK_RCX
#定义dg_configUSE_LP_CLK LP_CLK_32768
使用XTAL32K和其他选项。您可以使用P2_0 (XTAL32KP) pad与外部数字时钟。请检查表2:DA14860引脚说明用户手册。此外,你应该定义:
#定义dg_configUSE_LP_CLK LP_CLK_32000
你得到NMI的可能原因是,为什么WDOG被启用但从未使用。缺省的WDOG计数器值为255(最大值)。每个计数器的值等于10ms,因此在255个嘀嗒之后,大约2.6秒已经过去了,将断言一个NMI。请确保您没有启用WDOG。此外,您应该在过期后使用我们的api重新加载它。有关WDOG的更多资料,我建议你阅读9.6监督服务部分的DA1468x软件平台参考(UM-B-044)来自我们的支持门户的文档
谢谢,PM_Dialog
谢谢你的回复。很抱歉回复晚了。
正如我所提到的,我正在使用选项1 #定义dg_configUSE_LP_CLK LP_CLK_RCX
这是你的示例代码:ble_multi_link,当32khz晶体出现时,服务看门狗正确。
为什么看门狗超时时,我使用内部32kHz振荡器与上述设置?
谢谢
这里的问题原来是一个失败的malloc。
使用此时钟设置时,必须有不同的堆要求。
嗨jpselc,
谢谢你的提示。很高兴你的问题解决了。
谢谢,PM_Dialog