DSPS Disconnect导致HardFault

10个帖子/ 0个新
最后发表
aley_i
离线
最后看到:3年8个月前
加入:2015-06-25 09:58
DSPS Disconnect导致HardFault

嗨,我正在使用基于DA14580芯片组的PAN1740模块进行DSPS配置文件的开发,
不幸的是,一旦我试图从设备断开主机,我得到一个硬复位,我使用app_disconnect();
功能:
空白app_disconnect(空白)

struct gapc_disconnect_cmd *cmd = KE_MSG_ALLOC(gapc_disconnect_cmd,
KE_BUILD_ID(TASK_GAPC, app_env.conidx),
gapc_disconnect_cmd);

cmd->operation = GAPC_DISCONNECT;
cmd->reason = CO_ERROR_REMOTE_USER_TERM_CON;

//发送信息
ke_msg_send (cmd);

根据串行命令断开连接。
任何有关这方面的帮助将非常感激。

谢谢。

设备:
aley_i
离线
最后看到:3年8个月前
加入:2015-06-25 09:58
从电脑上看

从硬故障处理程序来看PC,罪魁祸首似乎在STRH, LDRH指令访问错位的内存地址之间有所不同。
然而,我不确定是什么原因,我已经为所有变量添加了对齐检查。
关于如何解决进一步调试这个问题有什么想法吗??

MT_dialog
离线
最后看到:2个月前3个星期前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

当你通过uart发送disconnect命令时,你会得到platform_reset ?也许您正在发生内存泄漏,在断开连接时生成数据而没有使用它们。

由于MT_dialog

aley_i
离线
最后看到:3年8个月前
加入:2015-06-25 09:58
嗨MT_dialog,

嗨MT_dialog,
谢谢你的回复,我在主机上发出app_disconnect()后没有得到软件或平台重置,
我应该自己发布复位平台和断开连接功能吗?

当你说生成数据而不消费它们时,你是在说相关的应用程序控制器任务没有正确删除吗?
在我重新开始扫描之前,有什么方法可以确保任务被正确删除?

谢谢

aley_i
离线
最后看到:3年8个月前
加入:2015-06-25 09:58
澄清一下,我有一个

为了澄清一下,我有一个BLE中心设备作为主机(客户端),并且BLE外围设备配置为设备(客户端),我从主机APP发送一个断开命令到主机GAP层,这似乎是罪魁祸首,这并不总是第一次发生,有时需要两次或三次尝试。

我已经尝试从外围设备断开连接,但也有同样的问题。

MT_dialog
离线
最后看到:2个月前3个星期前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

对不起,我没有意识到你得到一个硬复位后,你的主机断开命令。你正在得到一个GAPM_DEVICE_READY_IND一旦你断开你的主机?您正在使用DSPS(主机和设备),并且添加了额外的代码来接收来自UART的数据并将其转换为命令(大部分更改是在外围端完成的)?您是否能够使用嗅探器跟踪该命令并检查LL_TERMINATE事件(该事件是否有任何重传)?你的设计是基于什么SDK ?您的主机处于完全嵌入式或完全托管模式,主机是否运行在使用GTL的外部CPU上?

由于MT_dialog

aley_i
离线
最后看到:3年8个月前
加入:2015-06-25 09:58
嗨MT_dialog,

嗨MT_dialog,
不,我没有在主机上得到一个GAPM_DEVICE_READY_IND后,我断开连接,我得到的是GAPC_DISCONNECT_EVT。我只在启动时得到GAPM_DEVICE_READY_IND。

是的,我正在使用DSPS主机和设备,我已经添加了额外的代码来获得主机上的以下命令:
START_SCAN
GET_ADVERTISED_LIST(转储发布的外设列表)
CONNECT(连接到特定的外围设备)
断开(断开并重新扫描)

在外围,我只有:
SET_NAME(设置外设(发布的数据包)的名称)
断开连接

我使用的是DSPSV3.150.2,主机没有运行在使用GTL的外部CPU上。

我在主机和设备中都得到了GAPC_DISCONNECT_EVT,在断开连接的情况下,我已经尝试在每次断开连接后强制GAPM_RESET和GAPM_PLF_RESET,但问题仍然存在。

MT_dialog
离线
最后看到:2个月前3个星期前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

我重现了你的问题。此问题是由于在构建DSPS的旧SDK3上存在错误,在之前的SDK3.0.10.1中引入了修复。所以我建议使用最新的SDK来解决你的问题,或者等待即将到来的基于SDK5的DSPS新版本。

由于MT_dialog

aley_i
离线
最后看到:3年8个月前
加入:2015-06-25 09:58
谢谢MT_Dialog,

谢谢MT_Dialog,
你知道基于SDK5的dsp什么时候出来吗?也有一个指南,端口项目,如果我想自己做。
谢谢

MT_dialog
离线
最后看到:2个月前3个星期前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

我不知道确切的日期,但通过评估过程,我相信它很快就会发布,不幸的是,没有新的SDK5的移植指南。

由于MT_dialog