中央锁定断开连接

3个帖子/ 0新
最后一篇
pnndra.
离线
最后一次露面:2年10个月前
加入:2014-06-17 10:05
中央锁定断开连接

敬启者,
我们对SPS_HOST的代码有问题(Project DA14580_DSPS_3.150.2 ___ 13_2_2015)。我们正在做的是添加一些运行背景任务的定时器,并且应该在断开连接。如果我们留下代码,当断开事件进入时,函数app_disconnect_func(file app_task.c)重置(请参阅下面的代码片段)系统状态,我们再也找不到事件:

app_reset_app();//链接丢失(定时器超时)//重置更高的图层

//重置环境**这很重要,因为否则配置文件ATT数据库将不会重新启动**
Memset(&app_env,0,sizeof(app_env));

//初始化第一个服务的Next_prf_Init值以添加在数据库中
app_env.next_prf_init = app_prf_list_start + 1;

如果我们在断开连接或重新连接时,我们将在此注释OUT OUT OUT OUT OUT OUT OUT OUT OUT ORMALLY(硬故障处理程序)崩溃。

是否有任何方法可以在不杀死其他定时器的情况下重置应用程序?
此外,测试是如何连接主机代码的连接/断开?我们有感觉,即在重置一切时也可能发生同样的崩溃。

关键词:
设备:
pnndra.
离线
最后一次露面:2年10个月前
加入:2014-06-17 10:05
大家好,

大家好,
今天我们已经测试了原始的SPS_HOST代码。几乎没有连接/断开连接事件后,代码崩溃了与我们的代码相同。检查堆栈中,崩溃前的代码在地址0x322be处,根据地图文件可能是ke_malloc函数的地址。任何问题可能是什么?

谢谢,提前和最好的问候

mt_dialog.
离线
最后一次露面:1个月5天前
职员
加入:2015-06-08 11:34
嗨pnndra,

嗨pnndra,

app_reset_app()发送GAPM_RESET?您设置的定时器是内核定时器?如果是这种情况,如果重置BLE堆栈,则取消计时器。如果你
想要在重置后保持状态的定时器,您可以尝试使用硬件定时器(裸体铭记,当设备处于睡眠模式时,它们不会运行)。还
重置后,不要重置环境并启动配置文件初始化,系统重新启动并应获取重新启动完成的Gamp_cmp_evt,以此
处理程序您的设备将重新配置,并且当完成时,设备将开始在App_On_set_dev_config_complete()中实例化数据库。环境
不重置(重置后代码未通过app_init),以便如有必要,您必须执行此操作。关于DSP中央不需要或实现任何内容
重置操作(SDK5 DSP)因此没有针对这种操作默认的测试。SDK3 DSP在断开连接后实现重置,我们没有任何报告的问题。

我已经改变了DSP设备的计时器,在与主机的连接事件中源2秒后发出断开连接,我无法在3小时内看到SDK5连接和Disconnectig上的任何问题,每5秒,设备正确连接和断开连接崩溃主人。

谢谢mt_dialog.