CC2640开发记录3 TI-RTOS TASK

原文地址 http://processors.wiki.ti.com/index.php/SYS/BIOS_Online_Training

上一篇文章谈到HWI与SWI的关系,笔者认为开发TI-RTOS HWI与SWI不是咱们关心的重点,绝大多数SWI是官方SDK提供的,HWI与硬件紧密相关,我们也很难开发。研究TASK和信号量要打起精神来!

//TASK

 

》使用TASK可以使用到更多的调度特性

- TASK可以处于BLOCK状态等待EVENT出现

- 启用其他层级的代码处理事件

》任务的数量和状态可以在运行中动态的改变

》任务的优先级可以动态改变

》调度机制由多任务内核提供

- 优先等级

 

TASK

逻辑完备的程序块包含如下组件

- 函数指针,定义程序块的开始运行入口

- 参数表

- 优先级

-独一无二的任务堆栈(作用是储存本地变量数据,嵌套函数调用)

中断运行在系统堆栈中

上图可以看出,一个TASK包含了五个块 fxn是C代码,ENV,优先级,堆栈,任务名。

TASK与SWI的不同点

图显然的展示了SWI和TASK的区别,SWI不存在BLOCK状态,一旦被调度必须执行完才肯罢休。而TASK是可以BLOCK的。

TASK的几种状态

TASK如果处于RUNNING状态,那么这个任务将会被调度器调度,调度器会给到他时间片去执行,如果TASK被信号量卡住了,那就是处于BLOCK状态,等待一个信号量POST使得TASK从BLOCK回到READY状态,在RUNNING状态的TASK可以被优先级更高的TASK打回READY状态!

 

小结:简单讲了一些关于TASK的几个状态,TASK与SWI的区别。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值