DSPS中的缓冲区大小

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
6个职位/ 0个新职位
最后发表
Lyadnov
离线
最后看到:1年1个月前
加入:2019-07-31 13:57
DSPS中的缓冲区大小

亲爱的支持团队,我需要知道,我如何可以增加参数TX_BUFFER_ITEM_COUNT在user_sps_shedler .h (DSPS例子)。我需要更大的缓冲区,比示例使用(1800),但当我使这个参数约4000,我有崩溃。

设备:
PM_Dialog
离线
最后看到:13小时12分钟前
工作人员
加入:2018-02-08 11:03
嗨Lyadnov,

嗨Lyadnov,

谢谢你的问题。你能指出代码在哪里崩溃吗?请在调试模式下运行。另外,你们对DSPS项目做了哪些修改?只改变TX_BUFFER_ITEM_COUNT大小?

谢谢,PM_Dialog

Lyadnov
离线
最后看到:1年1个月前
加入:2019-07-31 13:57
你好,我检查了DSPS项目

嗨,我检查DSPS项目没有任何改变,只有TX_BUFFER_ITEM_COUNT和高水印,见屏幕附件。我在调试器启动期间有错误,请参阅screen1附加。

附件:
PM_Dialog
离线
最后看到:13小时12分钟前
工作人员
加入:2018-02-08 11:03
嗨Lyadnov,

嗨Lyadnov,

非常感谢附上的截图和调试固件。Τhe platform_reset_func()由platform_reset()调用,这是在ROM代码中实现的。获得此断言的最可能原因是内存不足,因为您正在分配从未使用过的消息。例如,如果您正在分配通知消息,并且连接间隔较小,则消息会在连接事件到达之前堆积起来,但是如果连接间隔较大,则会在连接事件到达之前耗尽内存。您可以增加连接间隔。在更改TX_BUFFER_ITEM_COUNT时,可能会在每个连接之后出现某种内存泄漏,因为错误代码是RESET_MEM_ALLOC_FAIL。为此,我建议您检查是否有任何未决消息,并确保您正在使用消息处理时获得的消息,或者如果您正在分配数据,则应该释放这些消息。让我和你们分享一个简单的例子。如果你对ADC进行采样,并且你正在分配消息以便在有连接时通过通知发送数据,那么设备最终将耗尽内存,如果设备耗尽内存,这将导致设备重置。为了避免platform_reset_func,我建议您通过在da1458x_config_advanced.h头文件中定义DB_HEAP_SZ来增加堆大小。 Please let me know if this change figures your issue out.

谢谢,PM_Dialog

Lyadnov
离线
最后看到:1年1个月前
加入:2019-07-31 13:57
你好,真的增加后的DB

Hi,真的增加DB_HEAP_SZ后,所有工作没有崩溃。非常感谢!

PM_Dialog
离线
最后看到:13小时12分钟前
工作人员
加入:2018-02-08 11:03
嗨Lyadnov,

嗨Lyadnov,

很高兴你解决了你的问题,谢谢你接受我的答案。如果您有任何其他问题,请创建一个新的论坛帖子!

此外,我建议您看看我们的新Smartbond设备。

//www.wsdof.com/雷电竞官网登录products/connectivity/bluetooth-low-energy/products/da14531

谢谢,PM_Dialog