CC2640R2L,运行一段时间后会出现无法连接的情况。
CC2640R2L,在使用了SPI flash.
并且启用了比较大的MTU size 200Bytes.
设备在开始都可以正常读写特征值数据,flash也正常。
后面ios就开始出现“cannot to discover service ”(通常出现这种问题,我们通过优化内存可以解决),此时,Android可以正常连接发现服务,但是申请更改mtu则会失败,20字节以内的特征值可以正常读写。
我们继续连接何断开测试,接着Android,接着只能连接,无法读写特征值。
然后继续测试,设备正常广播,但是无法连接了。
从正常运行到异常大概在两天出现。
我怀疑是动态内存管理的问题。但是我并没有使用malloc。
同时我观察到一个情况,task stack的占用率,在开机不久后(1h以内),占用率大概65%,在24h之后70%,渐渐的75%,到了75%的占用率时,也就出现了无法更改MTU的情况。
以上如果我去掉SPI flash功能,则不会出现这样的现象。
SDK是最新的4.3.
Kevin Qiu1:
用的是哪个例程,一般MTU_SIZE不用在手机上更改
shimin zhang:
回复 Kevin Qiu1:
simple peripheral。
ios对mtu/pdu是自适应,Android是需要在手机上发起更改请求,然后mtu才可能变更的。
Kevin Qiu1:
回复 shimin zhang:
你用的是哪个APP,我在simplelink starter中没有找到主动更改MTU的地方