DSP中的缓冲大小

学到更多常见问题解答教程

6个帖子/ 0新
最后一篇
Lyadnov.
离线
最后一次露面:9个月2天前
加入:2019-07-31 13:57
DSP中的缓冲大小

亲爱的支持团队,我需要知道,如何在user_sps_sheduller.h中增加参数tx_buffer_item_count(DSP示例)。我需要更多尺寸缓冲区,而不是示例使用(1800),但是当我使这个参数大约4000时,我崩溃了。

设备:
PM_DIALOG.
离线
最后一次露面:21分14秒前
职员
加入:2018-02-08 11:03
嗨Lyadnov,

嗨Lyadnov,

谢谢你的问题。请问代码崩溃的位置吗?请运行它调试模式。此外,您在DSP项目中完成了哪些修改?只有TX_BUFFER_ITEM_COUNT大小已更改?

谢谢,PM_DIALOG.

Lyadnov.
离线
最后一次露面:9个月2天前
加入:2019-07-31 13:57
嗨,我检查DSPS项目

嗨,我检查DSPS项目没有任何变化,只有TX_BUFFER_ITEM_COUNT和高水印,请参阅屏幕附加。调试器启动时,我出现错误,请参阅Screen1附加。

附件:
PM_DIALOG.
离线
最后一次露面:21分14秒前
职员
加入:2018-02-08 11:03
嗨Lyadnov,

嗨Lyadnov,

非常感谢附加的屏幕截图和调试固件。perform_reset()调用τheplatform_reset_func(),该平台()在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.
离线
最后一次露面:9个月2天前
加入:2019-07-31 13:57
嗨,真的在增加db之后

嗨,真的在增加db_heap_sz之后,所有工作都没有崩溃。非常感谢你!

PM_DIALOG.
离线
最后一次露面:21分14秒前
职员
加入:2018-02-08 11:03
嗨Lyadnov,

嗨Lyadnov,

很高兴你识上你的问题,谢谢你接受我的答案。如果您有任何其他问题,请创建一个新的论坛线程!

此外,我建议您查看我们的新智能障碍设备。

https://www.dialog-seminile.com/produ亚博电竞菠菜cts/connectivity/bluetooth-low-energy/products/da14531.

谢谢,PM_DIALOG.