MurataZy与IoT SDK5锁定后锁定

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
11个帖子/ 0新
最后一篇
gme_johannes
离线
最后一次露面:2周3天前
加入:2017-12-22 10:09
MurataZy与IoT SDK5锁定后锁定

亲爱的对话支持,

我已经将DA14583 IOT SDK与DA14580移植到MurataZy。
大多数情况下,我改变了GPIO作业,到目前为止大多数事情都按预期工作。

然而,当连接时。使用IOT应用程序,然后强制传感器超出范围,它变得无响应,必须发出重置/电源周期。
在UART调试接口中,我无法观察事件后的消息,尤其是dbg_msg(“断开连接\ r \ n”);user_on_disconnect.没有出现(UART Debug确实正常工作并显示其他消息)。

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

此致
约翰内斯

设备:
gme_johannes
离线
最后一次露面:2周3天前
加入:2017-12-22 10:09
添加剂调查结果:

添加剂调查结果:

我注意到了这一点gapc_disconnect_ind_handler.超出范围时未执行(但是当我手动单击IOT应用程序中的“断开”时)。

PM_DIALOG.
离线
最后一次露面:2天18小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

您能否澄清您的问题,因为从IOT应用程序手动单击“断开连接”时,您的问题是自填充_Disconnect_ind_handler?这与范围超出了吗?

谢谢,PM_DIALOG.

gme_johannes
离线
最后一次露面:2周3天前
加入:2017-12-22 10:09
嗨pm_dialog,

嗨pm_dialog,

由于我不知道在追踪错误的地方开始,我随机搜索了与断开连接相关的函数调用的代码,并将UART调试输出放到了它们是否被执行。这gapc_disconnect_ind_handler.是我调查的第一个功能。
我比较了“常规断开”与“超出范围断开”的情况。

请告诉我哪个是我应该调查的适当功能,以了解它冻结的地方。

BR Johannes.

PM_DIALOG.
离线
最后一次露面:2天18小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

请在调试模式下运行固件,热连接调试器,并尝试找到代码困扰的地方?

谢谢,PM_DIALOG.

gme_johannes
离线
最后一次露面:2周3天前
加入:2017-12-22 10:09
嗨pm_dialog,

嗨pm_dialog,
不幸的是,我从未有过JTAG / SWD运行(另见https://support.dialog-semicondiondiondum/comment/20501mment-20501.)。
我希望你可以向我描述SDK关注和超出远程断开的行为,这样我有机会只使用UART来调查它,但没有调试器。
此致
约翰内斯

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

亲爱的pm_dialog,
我用SWD运行调试。
请参阅附加的屏幕截图,代码似乎停止。
我可以提供更多信息吗?

此致
约翰内斯

附件:
PM_DIALOG.
离线
最后一次露面:2天18小时前
职员
加入: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
离线
最后一次露面:2周3天前
加入:2017-12-22 10:09
嗨pm_dialog,

嗨pm_dialog,

实际上,错误是reset_mem_alloc_fail。

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

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

BR Johannes.

gme_johannes
离线
最后一次露面:2周3天前
加入:2017-12-22 10:09
我修改了堆大小

我在da1458x_scatter_config中修改了堆大小:

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

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

如何测试堆大小足以对我的申请?

BR Johannes.

PM_DIALOG.
离线
最后一次露面:2天18小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

很高兴你识上你的问题。确定适当的值没有任何特定方法。堆大小的值应通过实验决定。

谢谢,PM_DIALOG.