DSPS断开导致HardFault

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

嗨,我正在使用dsp配置文件进行开发,使用基于DA14580芯片组的PAN1740模块。
不幸的是,只要我试图断开主机与设备的连接,我就会得到硬复位,我使用app_disconnect();
功能:
空白app_disconnect(空白)
{
gapc_disconnect_cmd *cmd = KE_MSG_ALLOC(gapc_disconnect_cmd,
KE_BUILD_ID(TASK_GAPC, app_env.conidx), TASK_APP,
gapc_disconnect_cmd);

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

//发送消息
ke_msg_send (cmd);
}
通过串口命令断开连接。
关于这方面的任何帮助都将非常感激。

谢谢。

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

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

MT_dialog
离线
最后看到:两个月三周前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

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

由于MT_dialog

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

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

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

谢谢

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

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

我试过从外设断开连接,但遇到了同样的问题。

MT_dialog
离线
最后看到:两个月三周前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

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

由于MT_dialog

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

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

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

在外围,我只有:
SET_NAME(设置外设(通告报文)的名称)
断开连接

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

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

MT_dialog
离线
最后看到:两个月三周前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

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

由于MT_dialog

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

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

MT_dialog
离线
最后看到:两个月三周前
工作人员
加入:2015-06-08 34
嗨aley_i,

嗨aley_i,

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

由于MT_dialog