您的位置:首页 > 其它

Benchmark库的建立05:任务Post失败 Bug

2016-02-27 21:47 375 查看
Bug类型

任务Post失败 Bug

正确版本程序

apps/benchmark/BlinkPostFail



程序描述

定时器每隔0.25s提交任务TestTask,任务

TestTask的功能是切换LED0的状态;

如果任务Post提交成功,切换LED1的状态,否则切换LED2的状态。

Avrora运行程序

alias avrora=’java -jar avrora-beta-1.7.113.jar -colors=false -banner=false’;

make mica2;

mv build/mica2/main.exe bpf.elf;

avrora -platform=mica2 -monitors=leds -seconds=4 -simulation=sensor-network bpf.elf “

运行结果分析(正确版本)

LED0,LED1切换结果正确;

LED2不切换(即post返回SUCCESS)。

bug版本程序

/apps/benchmark/bm_BlinkPostFail

程序修改的部分

增加任务TestTask的post频率:Timer0.fired()

事件中添加循环操作,使得每0.25s内增加10次Post操作。

bug的显现条件

5. 相同任务过于频繁地提交

Bug症状



LED2也会发生切换(表示post返回FAIL);

运行net.tinyos.tools.PrintClient程序会显示任务提交失败信息:Post Operation Fail!

备注

TinyOS2.x中,仅当任务已经被提交但还没有

被执行时,即任务队列中已经有相同任务时,返

回FAIL,并且不会将该任务插入到队列;

如果没有相同任务时,则返回SUCCESS。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: