我能够编程DA14682芯片并有事情工作,但芯片似乎在3秒后停止响应。
什么可能导致这样的东西?我正在使用这个16MHz水晶:https://www.digikey.com/product-detail/en/abracon-llc/abm8-16.000MHz-7-1 ...
该应用程序似乎在里面冻结了WatchDog_CB.。这是相关评论,在那里发生这种情况:
/ * *所有任务的延迟已过期,其中一些仍未通知sys_watchdog *我们将让看门狗重置系统* *请注意,hw_watchdog_handle_int()永远不会返回* / hw_watchdog_handle_int(例外);
我应该如何调查这一点?
设备:
嗨Ddustin,
您是否在system_init()函数中定义了sysclk_xtal16m?我在此论坛主题中为您提供了更多信息:
https://support.dialog-semicondiondiondiondum/forums/post/dialog-martbond-bluetooth-low-energy-%2%80%93-hardware-device-reference-designs/no-16khz.
你能澄清3秒后如何检查代码没有响应的情况吗?你是在调试模式和WDOG播放的吗?在前3秒钟内,设备正确启动广告?
谢谢,PM_DIALOG.
是的,在它的前3秒内,它正确地广告且甚至可以连接和响应BLE请求。
我ran附在调试器上,发现它在未处理的例外内部崩溃。我在最后一次评论中粘贴的int cb似乎是回到答法中最相关的东西。
我相信这是在我将LP从32kHz转换为RTX之前(内部)。在制作开关后,调试器会给错误“sigint”给出没有回溯的错误。
我如何诊断这一点?
嗨Ddustin,
如果此票证与下面的论坛机票有关,请您告诉我吗?
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bluetooth-low-energy-%e2%80%93-hardware-device-reference-designs/chip-seeming
在两张门票中你有相同的配置吗?这意味着WDOG命中,所以我强烈建议您阅读第5节重启分析 - WDOG的WDOG调试技术教程文档为了找到WDOG命中的位置。
谢谢,PM_DIALOG.
是的,机票是相关的,但这些论坛帖子的延迟是如此漫长的问题,因为这个问题的不同部分发布了两个。
我禁用了看门狗,问题仍然发生。这是否意味着它不是看门狗?
它崩溃时的后退不是看门狗的例程。这是一个来自SIGINT的“未处理的例外”。
我们如何诊断这个问题?它显然与看门狗无关,因为* *此代码在DA14683女儿DEV板上完美工作。它只失败在我自己的芯片上。
什么可能导致它在一个电路上工作,但在另一个电路上失败?我们如何诊断出来?
嗨Ddustin,
请在第二个论坛帖子中查看我的答案:
https://support.dialog-semicondiondiondiondum/forums/post/dialog-martbond-bluetooth-low-energy-%2%80%93-hardware-device-reference-designs/no-16khz.
如果相同的固件在Pro-DK中以预期运行而不是在您自己的电路板中运行,则表示您的电路板上存在硬件问题。第一步将根据来自AN-B-061文档的硬件设计指南来审核它。请检查电源导轨,接地和焊接焊接。
谢谢,PM_DIALOG.