CC2541休眠唤醒后连接异常
1.我用BLE-CC254x- 1.3.2协议栈做蓝牙鼠标,用CC2540(256K flash)休眠唤醒后连接正常,但是改用CC2541(128k flash)休眠后不能连接了,求大神指点迷津?
2.在CC2541(128k flash)可以实现OAD吗?(是不是flash空间不够,无法实现ImageA和ImageB).谢!
1: 建议增加Log输出功能,看程序走到哪里不正常了
2: 也可以实现OAD,需要适当优化
1.我调试时发现系统在调用HidDev_Report( uint8 id, uint8 type, uint8 len, uint8*pData )发现异常,在这个函数里面:
// else if not already advertising
else if ( hidDevGapState != GAPROLE_ADVERTISING )
{
// if bonded
if ( hidDevBondCount() > 0 )
{
// start high duty cycle advertising
hidDevHighAdvertising();
}
// else not bonded
else
{
// start initial advertising
hidDevInitialAdvertising();
}
}
那个判断绑定连接的条件" if ( hidDevBondCount() > 0 )"在正常的情况(休眠唤醒后正常连接)应该为"真"即执行hidDevHighAdvertising()这个函数,而不正常的则执行else条件里面hidDevInitialAdvertising()函数.应该来说在正常连接操作后" if ( hidDevBondCount() > 0 )"条件为真,但继续往下查就不知道原因出在哪里?
2.128K 的flash好像再怎么优化也不能优化能实现OAD,因为CC2541 TI的协议栈CC254x-1.3.2带的操作系统编译后.bin的大小就已经占115K左右,怎么能同时存在ImageA和ImageB?