断开时中央锁

3个员额/0新
最后一篇文章
pnndra公司
离线
最后一次见到:2年11个月前
已加入:2014-06-17 10:05
断开时中央锁

尊敬的先生们:,
我们遇到sps主机代码(项目DA14580 U DSPS U 3.150.2_uuuu13_2_u2015)的问题。我们正在做的是添加一些运行后台任务的计时器,这样可以在断开连接后继续运行。如果我们将代码保留为原样,当断开事件出现时,函数app disconnect\u func(file app\u task.c)将重置(请参阅下面的代码段)系统状态,我们将永远无法获得事件:

app\u reset\u app();//链路丢失(计时器超时)//重置更高层

//重置环境**这很重要,否则将不会重新启动配置文件att数据库**
memset(&app_UENV,0,sizeof(app\u env));

//初始化要添加到数据库的第一个服务的下一个\u prf init值
应用程序_环境下一步\u prf\u init=应用程序\u PRF\u列表\u开始+1;

如果我们对此作出评论,系统在断开或重新连接时随机崩溃(硬故障处理程序)。

有没有方法在不杀死其他计时器的情况下重置应用程序?
另外,主机代码的连接/断开如何测试?我们感觉到,当重置所有东西时,同样的碰撞也可能发生。

关键词:
设备:
pnndra公司
离线
最后一次见到:2年11个月前
已加入:2014-06-17 10:05
大家好,

大家好,
今天我们已经测试了原始sps U主机代码。在发生了一些连接/断开事件之后,代码崩溃了,与我们的代码相同。在堆栈中签入,崩溃前代码位于地址0x322be,根据映射文件可以是keu malloc函数的地址。知道问题在哪里吗?

提前感谢并致以最诚挚的问候

MT\u对话框
离线
最后一次见到:1个月3周前
工作人员
已加入:2015-06-08 11:34
嗨,普恩德拉,

嗨,普恩德拉,

应用程序\u reset\u app()发送GAPM\u重置?您设置的计时器是内核计时器?如果是这样,如果重置了BLE堆栈,计时器将被取消。如果你
希望重置后保持状态的计时器可以尝试使用硬件计时器(请注意,当设备处于休眠模式时,它们不会操作)。阿尔索
重置后,不要重置环境并启动配置文件初始化,系统重新启动,并应获得一个GAMP\u CMP\u EVT,该重新启动已完成
处理程序您的设备将被重新配置,当完成后,设备将开始实例化应用程序中的数据库,即设置\u dev配置\u complete()。环境
不重置(重置后代码不会通过应用程序初始化),因此您必须在必要时进行。关于DSPS中心,不需要或实现任何
复位操作(SDK5DSPS),因此没有针对此类操作进行的测试。SDK3DSP在断开连接后实现重置,我们没有任何报告的问题。

我用定时器改变了DSPS设备,该计时器在与主机的连接事件2秒后断开连接,在SDK5连接和断开连接上,我无法看到任何问题超过3小时,每5秒一次,设备连接和断开,而不会损坏主机。

谢谢你的对话