ucosiii学习(2)——系统初始化时所创建的任务

1.空闲任务OS_IdleTaskInit(p_err);      os_core.c中

系统在初始化过程中,会先创建一个空闲任务,在创建空闲任务时先初始化任务控制块和链表,然后进行优先级和就绪链表插入操作(OS_PrioInsert和OS_RdyListInsertTail),同时将任务计数加一(OSTaskQty++;  ),最后调用OSSched()函数。

这个任务几乎不做什么事情,只是把OSIdleTaskCtrOSStatTaskCtr进行自加操作,这两个变量都是用来调试和统计任务统计的,以保证CPU始终处于运行状态。

创建任务的标准流程:初始化任务控制块——插入优先级链表——插入就绪链表——任务计数加1——调用OSSched()。

2.时钟节拍任务OS_TickTaskInit(p_err);     os_tick.c中,优先级为2u

流程同上。

节拍任务的具体函数如下:

可以看到,函数处于for的死循环中,并且调用 <

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值