最新SDK(1.0.12.1078)
你好,
所以我有这个演示(原代码)在Pro DK上工作很好,但是当我尝试在自己的PCB上运行它时,我在几秒钟后,我继续在调试模式下进行看门狗定时器中断(NMI)。
我发现一个关键差异是我自己的PCB没有32 kHz水晶,所以我通过设置使用32 kHz振荡器
#define dg_configuse_lp_clk lp_clk_rcx.
在custom_config_qspi.h中
然后我在Pro DK上尝试了这个版本,它也显示了这种行为(看门狗超时)。
问题似乎与初始广告后进入睡眠模式有关。是否有一些原因在振荡器使用时,看门狗会超时而不是XTAL?
谢谢,
J.P
设备:
嗨jpselc,
如果PCB没有XTAL 32 kHz,强烈建议使用以下三种选项之一:
#define dg_configuse_lp_clk lp_clk_rcx.
#define dg_configuse_lp_clk lp_clk_32768
使用具有替代选项的XTAL32K。您能够使用外部数字时钟抑制P2_0(XTAL32KP)焊盘。请检查一下表2:DA14860的引脚描述用户手册。此外,您应该定义:
#define 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 #define dg_configuse_lp_clk lp_clk_rcx
这是您的示例代码:BLE_MULTI_LINK,当存在32 kHz水晶时正确地服务看门狗。
为什么当我使用上述设置时使用内部32kHz振荡器时的看门狗超时?
谢谢
这里的问题结果是失败的malloc。
使用此时钟设置时必须有不同的堆需求。
嗨jpselc,
谢谢你的迹象。很高兴您的问题已得到修复。
谢谢,PM_DIALOG.