实施10个特征

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

你好,

我正在尝试向项目BLE_APP_PROFILE的服务CUST1添加3个特征。我的成功添加一个特征,当我写在文件training_02_custom_profile_example_v1.0中,但是当我做了完全相同的过程时添加更多特征(和项目编译的项目),项目中断函数wrap_platform_reset。为什么会发生这种情况?每项服务的特征数量有任何限制?

问候,

设备:
PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨盎司,

嗨盎司,

发生Wrap_platform_reset()的最明显原因是由于内存分配故障,这意味着您的软件中存在内存泄漏,您可以在某处分配数据,并且您从未释放它们(您可以在参数错误中验证函数,应该是reset_mem_alloc_fail)。为应用程序选择最佳堆,您应该通过更改DA1458x_config_Advanced.h文件中的堆的大小进行实验。

谢谢,PM_DIALOG.

盎司
离线
最后一次露面:2年8个月前
加入:2018-10-11 07:20
嗨pm_dialog,

嗨pm_dialog,

感谢您的回复,我不使用任何睡眠模式,因此似乎定义了以下行:
#define reinit_descript_buf 1 // 0 // 0:保持在逆行状态,1:需要重新init(使用延长睡眠时设置为0)
#define use_memory_map ext_sleep_setup.
并且可以仅针对CFG_MEM_MAP_DEEP_SLEEP模式定义堆。
以下是在da1458x_config_advanced.h文件中编写的内容:
如果选择CFG_MEM_MAP_EXT_SLEEP或未选择睡眠模式,则会自动配置堆内存大小
您是否有任何建议来解决这个问题?

在您的回复中,您提到我可以验证是否在函数的参数错误中,这应该是reset_mem_alloc_fail。
你的意思是哪个函数?

问候,
盎司

PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨盎司,

嗨盎司,

在一个服务中添加更多特征,没有任何限制,例如,如果添加10个特征,则没有任何问题。添加任何服务/字符,内存从db_heap_sz分配。因此,Wrap_platform_Reset命中的原因是由于我之前的帖子中提到的内存分配导致的原因。尝试定义和增加DA1458x_config_advanced的db_heap_sz,例如,您可以放置​​2048的值。关于reset_mem_alloc_fail,请检查arch.h标题文件中wrap_platform_reset()函数的注释。

谢谢,PM_DIALOG.

盎司
离线
最后一次露面:2年8个月前
加入:2018-10-11 07:20
嗨pm_dialog,

嗨pm_dialog,

我喜欢你说和它有效,但我的下一步是创建第三服务,所以我做了写的https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
我在本指南中添加了第二个服务,但当我用第三个服务时,我收到了以下消息错误。
我怀疑它发生在同样的原因中,因为当我在评论中将下一行放在评论中时:
{task_custs1,
custs1_att_db,
cust1_idx_nb,
#if(ble_app_present)
app_custs1_create_db,app_custs1_enable,
#别的
null,null,
#万一
custs1_init,null.
},
在cust_prf_funcs数组中,它看起来我可以编译代码。
你能帮我找出这个问题,还是有更好的建议?

问候,
盎司

Mantioned错误:
。\ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ ... \ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:执行区域中没有空间.ANY选择器匹配CUSTS1.o(.constdata)。
。\ .. \ .. \ .. \ .. \ .. \ .. \ .. \。\ .. \ .. \ .. \ .. \ .. \ ... \ da1458x_scatter_config.h:错误:l6406e:与执行区域没有空间.ANY选择器匹配Musts2.o(.constdata)。
。\ .. \ .. \ .. \ .. \ .. \ .. \ ... \ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:没有执行区域的空间.Anany选择器匹配app_diss_task.o(.constdata)。
。\ .. \ .. \ .. \ .. \ .. \ .. \。\ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:与执行区域没有空间.ANY选择器匹配CUSTS3.O(.constdata)。
。\ .. \ .. \ .. \ .. \ .. \ .. \。\ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:与执行区域中没有空间.Anany选择器匹配user_profile.o(.constdata)。
。\ .. \ .. \ .. \ .. \ .. \ .. \。\。
。\ .. \ .. \ .. \ .. \ .. \ .. \。\ .. \。
。\ .. \ .. \ .. \ .. \ .. \ .. \ ... \ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:没有执行区域的空格.any选择器匹配gapc_task.obj(.constdata)。
。\ .. \ .. \ .. \ .. \ .. \。\ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:匹配gpio.o(.constdata)的执行区域中没有空格。
。\ .. \ .. \ .. \ .. \ .. \ .. \。\ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:与执行区域没有空间.Anany选择器匹配usercusts3_def.o(.conststring)。
。\ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ ... \ da1458x_catter_config.h:错误:l6406e:与执行区域中没有空间.ANY选择器匹配mvars.o(.data)。
。\ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ ... \ da1458x_catter_config.h:错误:l6406e:与执行区域中没有空间.ANY选择器匹配mvars.o(.data)。
。\ .. \ .. \ .. \ .. \ .. \。\。
。\ .. \ .. \ .. \ .. \ .. \ .. \ ... \ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6406e:执行区域中没有空间,其中包含.any选择器匹配命令_def.o(.constdata)。
。\ .. \ .. \ .. \ .. \ .. \ .. \ ... \ sdk \ common_project_files \ da1458x_catter_config.h:错误:l6407e:聚合大小0x84字节的部分无法拟合.ANY选择器。
没有足够的信息来生成Symdefs文件。
没有足够的信息来生成反馈文件。
没有足够的信息来列出图像符号。
没有足够的信息来列出图像映射中的加载地址。
完成:4个信息,0警告和15个错误消息。
“。\ out_580 \ ble_app_profile_580.axf” - 15个错误,1个警告。

PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨盎司,

嗨盎司,

似乎从散射文件分配的空间还不够。您问题的可能解决方法是重新排列散点文件,以便能够执行更大的应用程序。我非常建议您阅读过去的论坛帖子,您可以找到适当的步骤,以便重新排列散点文件。请按以下链接:

https://support.dialog-semicondiondiondum/how-build-program-code-larger-32kb.

正如在此帖子中提到的那样,您可以从我们的支持门户中找到有关UM-B-011文档中的散点文件的更多信息。您能够从下面的链接下载此文档:

https://support.dialog-seminile.com/resource/um-b-011-da14580-memory-map-and-scatter-file.

https://support.dialog-seminile.com/resource/um-b-011-da14580-memory-map-excel-tool.

如果您还有其他问题,或者您的问题尚未修复,我建议尝试一下,并回复我。

谢谢,PM_DIALOG.

盎司
离线
最后一次露面:2年8个月前
加入:2018-10-11 07:20
嗨pm_dialog,

嗨pm_dialog,

感谢您的回复,我将优化级别更改为3,现在似乎它正常工作。这是一个在如此高的优化水平工作的问题吗?

问候,
盎司

PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨盎司,

嗨盎司,

高优化级别,例如O0,增加应用程序的大小,因此从散射文件分配的空间可能足够了。很高兴你识上你的问题。我想让你知道,如果你发现上述任何答案有用请标记其中一个接受。

谢谢,PM_DIALOG.