μC/OS调度器及任务创建、挂起、恢复、删除、初始化函数的使用

本文详细介绍了μC/OS-II操作系统中任务调度器的工作原理,包括任务切换、任务创建、挂起、恢复和删除的步骤。调度器通过OSSched()和OSIntExt()实现任务的切换,依赖于任务控制块和堆栈指针的管理。创建任务使用OSTaskCreate()和OSTaskCreateExt(),挂起任务则通过OSTaskSuspend(),恢复任务使用OSTaskResume(),删除任务调用OSTaskDel()。所有操作之前需先调用OSInit()初始化系统环境。
摘要由CSDN通过智能技术生成

1、在多任务系统中,令CPU中止当前运行的任务转而去运行另一个任务的工作叫做任务切换,而按照某种规则进行任务切换的工作叫做任务的调度

2、μC/OS-II中,任务调度是由任务调度器来完成的

3、任务调度器主要两项工作:①在任务就绪表中查找具有最高优先级别的就绪任务②中断级的调度器

4、任务级的调度器由函数OSSched()实现,中断级的调度器由函数OSIntExt()实现

5、调度器做任务切换的工作:①获得运行任务的TCB指针②进行断点数据的切换

6、调度器真正实施任务切换之前的主要工作是获得待运行任务的任务控制块指针和当前的任务控制块指针,μC/OS-II允许应用程序通过调用函数OSSchedLock()和OSSchedUnlock()给调度器上锁和解锁

7、调度器OSSched()在确认未被上锁并且不是中断服务程序调用调度器的情况下,首先从任务就绪表中查到最高优先级级别就绪任务的优先级别OSPrioHighRdy,然后再确认这个就绪任务不是当前正在运行的任务

8、调度器在任务切换前获得的两个指针OSTCBCarOSTCBllighRdy


9、任务切换的工作是靠OSCtxSw()来完成的,任务切换就是中止正在运行的任务,转而去运行另一个任务的操作,当然,这个任务应该是就绪任务中优先级别最高的那个任务

10、一个任务保护断点时的压栈动作:


11、一个被中止的任务能否正确的在断点处恢复运行,关键在于能否正确地在CPU各寄存器中恢复断点数据;而能否正确的恢复断点数据的关键是<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值