客户目前出现了两种异常:
有设备重新烧录,手机重新配对,设备死机,然后重启。
有设备配对时,手机没有弹出输入PIN码窗口。
对异常1:
通过指导客户调试,发现是异常时进入了hardfault,之前进入了协议栈的函数SmState_WaitForLeScKeyConfirmAndInitatorDhKeyCheck;
打印日志,发现看门狗复位前有时会报错:gSmUnexpectedCommand_c、gSendSlaveSecurityRequest_c;
检查客户SDK,发现是2年前的版本;
检查LD文件;
异常1的原因是NVM异常可能性比较大,需要客户进一步确认NVM初始化是否正常,蓝牙安全相关API返回值。
对异常2:
对比正常抓包记录和异常抓包记录,发现异常时通信时序不正常,请求和响应不能对应;
异常时设备能主动断开连接;
异常2需要客户进一步分析设备晶振匹配是否正常,打印日志观察错误码输出、断开连接原因,判断异常时设备的状态。