最近发现蓝牙距离超出时发现有的设备会死机,不知道哪里的问题,是不是什么栈的设置太小影响的?
跑飞或者死机的表现是什么?调整堆栈 大小后有没有改善,或者说之前对代码改动是是不是有些地方内存没有回收。
FireBLE_blue 发表于 2015-5-25 14:36
跑飞或者死机的表现是什么?调整堆栈 大小后有没有改善,或者说之前对代码改动是是不是有些地方内存没有回 …
在哪里调整,我没试过?
FireBLE_blue 发表于 2015-5-25 14:36
跑飞或者死机的表现是什么?调整堆栈 大小后有没有改善,或者说之前对代码改动是是不是有些地方内存没有回 …
在哪里调整,我没试过?
调整栈的大小在startup.s 下
Stack_Size EQU 0x00000250
FireBLE_blue 发表于 2015-5-25 14:51
调整栈的大小在startup.s 下
这个地方最大可以调到多少?
如果没有递归函数,一般都是够用的。
理论上你设多大都行,只要链接能通过都可以。
但,默认0x200,如果你觉得有问题可以加到到一倍,0x400
FireBLE_blue 发表于 2015-5-25 17:49
如果没有递归函数,一般都是够用的。
理论上你设多大都行,只要链接能通过都可以。
但,默认0x200,如果 …
这个超出距离会死机跟这个堆栈的大小有关系吗?
我也觉得关系不大,跟栈应该关系不大,要死早死了,堆就难说了,具体不知道他代码都干了些啥,哈哈
FireBLE_blue 发表于 2015-5-26 09:58
我也觉得关系不大,跟栈应该关系不大,要死早死了,堆就难说了,具体不知道他代码都干了些啥,哈哈
我改成了0x400,效果会好狠多,但别的手机连接多个时还是会有个别死机的情况,还与什么地方有关呢?
thong 发表于 2015-5-26 10:31
我改成了0x400,效果会好狠多,但别的手机连接多个时还是会有个别死机的情况,还与什么地方有关呢?
描述一下死机的情况?有什么表现不?我目前为止还未遇到死机的,你程序有很大的局部变量不?比如一个很大的数组之类的,一般而言,栈溢出比较少见。
FireBLE_blue 发表于 2015-5-26 10:35
描述一下死机的情况?有什么表现不?我目前为止还未遇到死机的,你程序有很大的局部变量不?比如一个很大 …
其实也不是死机,当超出距离后连接自动断开并不广播
那应该和堆栈关系不大。。。
thong 发表于 2015-5-26 11:03
其实也不是死机,当超出距离后连接自动断开并不广播
应该不会的啊,QPPS中你断开之后,还是会再次发起广播的啊:)
xiaolong_ba 发表于 2015-5-26 17:13
应该不会的啊,QPPS中你断开之后,还是会再次发起广播的啊
是的,但要保证断开之后,再次发起广播的函数得到调用,像他说的,有时不能再起发起广播,就得详细的总体查查了,光说没用,还得对着代码分析为什么不能。
ios 1.3.6改进了没这问题了
sirbai 发表于 2015-7-20 17:13
ios 1.3.6改进了没这问题了
麻烦问下 这个问题是怎么解决的 是IOS手机端做的修改么?
下位机固件更新就行了