由于堆内存不足而添加新服务?

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
7个帖子/ 0个新
最后发表
r91_andersson
离线
最后看到:2年2个月前
加入:2019-01-13 17:40
由于堆内存不足而添加新服务?

我们在一个项目中需要建立大约70个特征。我们已经开始使用ble_app_peripheral项目作为基础和580。
由于这是一项非常耗时的工作,我创建了自动生成函数,为所有特征的所有定义创建了所有c代码。
在添加它们之后,我发现了一个内存错误,这使我想到了一个主题,即一个服务可以拥有的最大特征数是32。

我试图将特性减少到30,但仍然面临相同的内存问题,这导致我转向另一个主题,即我可以增加数据库的堆大小,我确实这样做了。
我将它设置为“#define DB_HEAP_SZ 4096”,但仍然有相同的内存问题。我不得不将特性减少到13,只有这样它才能在启动过程中没有任何错误。但是只有13是很少的,所以我猜唯一的选择是创建一个包含新数据库的新服务?

如果这是唯一的选择,那么我还没有完全理解如何创建一个新服务(基于ble_app_peripheral项目)。我不确定在哪个文件中添加新服务,以及在哪里定义逻辑之间的所有链接。是否有关于如何在此项目中扩展和创建新服务的教程?

设备:
r91_andersson
离线
最后看到:2年2个月前
加入:2019-01-13 17:40
我看到有一个

我看到还有额外的顾客服务!我尝试启用这个服务,并将定义设置为1,这样它将运行所有相关功能并设置它。
但当我编译并运行它时,它花了3秒然后它就变成了看门狗?

我还看到没有数据库功能相关的cust2服务,并不能找到任何属性?启用cust2服务时是否缺少什么,或者它是否应该不做任何修改就运行?

PM_Dialog
离线
最后看到:1天1小时前
工作人员
加入:2018-02-08 11:03

嗨r91_andersson,

在一个服务中添加更多的特性没有任何更简单的限制。添加任何服务/特征时,内存是从DB_HEAP_SZ分配的。因此,堆大小是关于服务和特征数量的唯一限制。如果将DB_HEAP_SZ设置为4096,并且仍然存在内存分配问题,这意味着不能分配70个特征。可能您增加了错误的堆类型,或者当设备在不同的睡眠模式下运行时,您增加了DB堆大小。例如,如果您希望增加DB_HEAP_SZ,请转到da1458x_conifg_advanced.h文件,并在#if defined(CFG_MEM_MAP_EXT_SLEEP) || !defined(CFG_MEM_MAP_DEEP_SLEEP)下添加以下具有相应大小的#define DB_HEAP_SZ。另外,能否请您指出哪个和什么时候得到内存分配错误?当试图构建您的项目或当您试图下载固件和代码卡住wrap_pllattform_reset()?此外,有许多特征,这不是最佳实践,你应该尝试使用某种协议,并将你的值合并到一个或多个特征中。SDK的ble_app_peripheral示例只实现了cust1配置文件。 The custs2 profile exists into the SDK but there is not any implementation, so if you would like to create a second profile you should have to check how the custs1 is implements and follow the same procedure.

谢谢,PM_Dialog

害怕
离线
最后看到:1年3个月前
加入:2019-03-12发布活动
你好,

你好,

我需要创建自定义配置文件。

你能把软件开发用户指南的链接发给我吗

用户手册-开发工具包软件开发的第一步指南。

UM-B-003:用户手册-软件开发指南如何修改模板项目和如何添加服务的指南。

    PM_Dialog
    离线
    最后看到:1天1小时前
    工作人员
    加入:2018-02-08 11:03
    你好害怕,

    你好害怕,

    谢谢你的帖子,但是这个帖子和你问的没有关系。请下次创建一个新的论坛帖子。如果你不知道创建一个新的论坛帖子的程序,请让我知道,我会给你提供适当的步骤。UM-B-014文档是针对我们目前不支持的Expert DK的。请访问我们新的支持门户下//www.wsdof.com/bluetooth-low-energy你会发现DA14580/1/3产品只有Pro-DK和Basic-DK。雷电竞官网登录另外,我建议您看看我们的DA14585/6产品和我们新的SDK6!雷电竞官网登录

    //www.wsdof.com/雷电竞官网登录products/connectivity/bluetooth-low-energy/smartbond-da14585-and-da14586

    另外,AN-B-003文档是基于SDK3的,这是一个非常旧的SDK版本,目前还不可用。

    谢谢,PM_Dialog

    MADHUSF
    离线
    最后看到:2个月2天前
    加入:2018-01-15 09:22
    嗨,对话框中,

    嗨,对话框中,

    我想阅读价值通过自定义特征从应用程序在移动通过BLE。

    是否有可能在5.0.4 SDK中创建特性时从SDK中读取值。

    PM_Dialog
    离线
    最后看到:1天1小时前
    工作人员
    加入:2018-02-08 11:03
    嗨MADHUSF,

    嗨MADHUSF,

    据我从你的问题中了解到的,你想要实现一个可读的特性,不是吗?如果是,请检查SDK的ble_app_peripheral示例和“ADC VAL 1”特性。如果你的意思是别的,请澄清你的问题,并创建一个新的论坛帖子。

    谢谢,PM_Dialog