Murata Zy与IoT SDK5锁定后锁定后

⚠️
嗨,那里..感谢您参加论坛。激动人心的消息!现在,我们正在转到我们的新论坛平台,该平台将提供更好的功能,并包含在主话网站中。所有帖子和帐户都已迁移。我们现在仅在新论坛上接受流量 - 请在https://www.dialog-spoomendonductor.com/support。我们将在未来几天修复错误 /优化搜索和标记。
11帖子 / 0新
最后一篇文章
gme_johannes
离线
最后一次露面:1个月1周前
加入:2017-12-22 10:09
Murata Zy与IoT SDK5锁定后锁定后

亲爱的对话支持,

我将DA14583 IOT SDK移植到了Murata Zy,并使用DA14580移植到Murata Zy。
通常,我更改了GPIO分配,到目前为止,大多数事情都按预期工作。

但是,当连接时使用IoT应用程序,然后将传感器迫使传感器脱离范围,因此必须发出重置/功率周期。
在UART调试界面中,我无法在事件发生后观察到一条消息,尤其是dbg_msg(“断开连接\ r \ n”);user_on_disconnect没有出现(UART调试确实可以正常工作并显示其他消息)。

我不知道是否修改了可能导致这种行为的任何例程。
您能协助我追踪这个问题吗?

此致
约翰内斯

设备:
gme_johannes
离线
最后一次露面:1个月1周前
加入:2017-12-22 10:09
加法结果:

加法结果:

1.我注意到gapc_disconnect_ind_handler不在范围内时没有执行(但这是我手动单击IoT应用中的“断开连接”的时间)。

pm_dialog
离线
最后一次露面:3天19小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

您能澄清一下您的问题是因为GAPC_Disconnect_ind_handler手动从IoT应用程序中单击“断开连接”?这与超出范围有关吗?

谢谢,pm_dialog

gme_johannes
离线
最后一次露面:1个月1周前
加入:2017-12-22 10:09
嗨,pm_dialog,

嗨,pm_dialog,

由于我不知道从哪里开始跟踪错误,因此我已经随机搜索了与断开连接相关的函数调用的代码,并将UART调试输出放置以查看它们是否已执行。这gapc_disconnect_ind_handler是我调查的第一个功能。
我比较了“常规断开”与“超出范围断开连接”的情况。

请让我知道我应该研究哪些适当的功能,以找出冻结的位置。

约翰内斯

pm_dialog
离线
最后一次露面:3天19小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

您能否在调试模式下运行固件,HOT附加调试器并尝试查找代码卡住的位置?

谢谢,pm_dialog

gme_johannes
离线
最后一次露面:1个月1周前
加入:2017-12-22 10:09
嗨,pm_dialog,

嗨,pm_dialog,
不幸的是我从来没有运行JTAG/SWD(另请参见https://support.dialog-spoomendonductor.com/comment/20501#Comment-20501)。
我希望您可以向我描述SDK跟随和远程断开连接中的行为,这样我才有机会只与UART进行调查,但没有调试器。
此致
约翰内斯

gme_johannes
离线
最后一次露面:1个月1周前
加入:2017-12-22 10:09
亲爱的pm_dialog,

亲爱的pm_dialog,
我进行了SWD跑步的调试。
请参阅代码似乎停止的附件屏幕快照。
我可以提供更多信息吗?

此致
约翰内斯

附件:
pm_dialog
离线
最后一次露面:3天19小时前
职员
加入:2018-02-08 11:03
嗨,gme_johannes

嗨,gme_johannes

发生WRAP_PLATFORM_RESET()的最明显原因是由于内存分配失败,这意味着您的软件中存在内存泄漏,您将数据分配到某个地方,并且您永远不会发布它们(您可以在参数错误中验证该数据函数,应为reset_mem_alloc_fail)。为应用程序选择最佳堆,您应该通过更改da1458x_config_advanced.h文件中的堆的大小进行实验。内存分配没有错,但是这取决于您要分配多少内存,显然您试图分配更多的内存,而不是可用的内存,并且得到了这种断言。您能确保固件粘在wrap_platform_reset()中吗?

谢谢,pm_dialog

gme_johannes
离线
最后一次露面:1个月1周前
加入:2017-12-22 10:09
嗨,pm_dialog,

嗨,pm_dialog,

确实,错误是reset_mem_alloc_fail。

我在原始物联网项目中添加了很少的代码,主要是为了处理另外两个LED。

我正在使用延长的睡眠,以便应自动计算堆大小,正确吗?那么,我可以修改什么?
当我执行代码和强制外BT范围时,调试器将停止在WRAP_PLATFORM_RESET()中,是的。

约翰内斯

gme_johannes
离线
最后一次露面:1个月1周前
加入:2017-12-22 10:09
我修改了堆的大小

我已经修改了da1458x_scatter_config.h中的堆大小:

// #define db_heap_size(1024 + 12)#define db_heap_size(1536 + 12)

现在我不再看到这个问题了。
但是,我想知道如何确定适当的值。如何选择“ 1024”?

如何测试堆的大小足以让我的应用程序?

约翰内斯

pm_dialog
离线
最后一次露面:3天19小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

很高兴您弄清楚了您的问题。没有任何特定方法来确定适当的值。堆大小的值应实验确定。

谢谢,pm_dialog