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

Bug类型

  1. 任务Post失败 Bug

正确版本程序

  1. apps/benchmark/BlinkPostFail
    这里写图片描述

程序描述

  1. 定时器每隔0.25s提交任务TestTask,任务
    TestTask的功能是切换LED0的状态;

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

Avrora运行程序

  1. alias avrora=’java -jar avrora-beta-1.7.113.jar -colors=false -banner=false’;
  2. make mica2;
  3. mv build/mica2/main.exe bpf.elf;
  4. avrora -platform=mica2 -monitors=leds -seconds=4 -simulation=sensor-network bpf.elf “

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

  1. LED0,LED1切换结果正确;
  2. LED2不切换(即post返回SUCCESS)。

bug版本程序

  1. /apps/benchmark/bm_BlinkPostFail

程序修改的部分

  1. 增加任务TestTask的post频率:Timer0.fired()
    事件中添加循环操作,使得每0.25s内增加10次Post操作。

bug的显现条件
5. 相同任务过于频繁地提交

Bug症状

这里写图片描述

  1. LED2也会发生切换(表示post返回FAIL);
  2. 运行net.tinyos.tools.PrintClient程序会显示任务提交失败信息:Post Operation Fail!

备注

  1. TinyOS2.x中,仅当任务已经被提交但还没有
    被执行时,即任务队列中已经有相同任务时,返
    回FAIL,并且不会将该任务插入到队列;
  2. 如果没有相同任务时,则返回SUCCESS。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值