原创 uc/os II的临界态及任务状态

2008-3-29 20:02 2629 3 4 分类: MCU/ 嵌入式

一、uc/os怎样处理临界段代码


临界段(critical section


Uc/os在处理临界段代码时必须先关中断,等处理完毕后再开中断


进入和退出临界段宏指令为:


OS_ENTER_CRITICAL();  OS_EXIT_CRITICAL()


在不同的处理器在OS_CPU.H文件中进行不同的定义


OS_ENTER_CRITICAL();  OS_EXIT_CRITICAL()可以用不同的方法实现,通过CRICITAL_METHOD可以选择具体那种方法


CRITICAL_METHOD=1时,直接用处理器指令关中断和开中断


CRITICAL_METHOD=2时,在堆栈中保存中断的开关状态,然后再关中断,在执行OS_EXIT_CRITICAL()时,从堆栈中弹出原来中断的开关状态。


CRITICAL_METHOD=3时,利用扩展功能得到当前处理器状态的值,并保存在c函数的局部变量中。利用该变量恢复原先的中断状态。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


二、任务状态


睡眠态:指任务驻留在程序空间,没有交由uc/osII管理。


就绪态:通过调用OSTaskCreate()OSTaskCreateExt()建立任务,建立后的任务即进入就绪态


运行态:优先级最高的就绪态的任务将进入运行态,就绪的任务只有当所有优先级高于这个任务的任务转为等待状态或者被删除时,才能进入运行态。


等待状态:正在运行的任务通过调用OSTimeDly()OSTimeDlyHMSM()使自身进入等待状态,让下一个进入就绪态的优先级最高的任务进入运行状态,等待的时间过去以后,系统服务函数OSTimeTick()使延迟了的任务进入就绪态。


中断服务态:被中断的任务即进入了中断服务态,这时正在执行的任务被挂起,中断服务程序控制了CPU的使用权,在中断服务程序中可能会报告多了事件的发生,使一个或多个任务进入就绪态,这样在中断服务程序返回之前,uc/osII要判断哪个就绪态的任务的优先级最高,在中断返回时执行该任务


当所有的任务都在等待事件的发生或等待延迟时间的结束时,uc/os将执行空闲任务(idle_task

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1658311 2012-5-15 09:11

任务的睡眠态怎么理解? 任务都还没有创建,怎么可能有任务处于睡眠态?
相关推荐阅读
用户478327 2010-05-08 08:40
Source Insight配置WinAVR(转载)
Source Insight配置WinAVR----AVR单片机2010-02-23 17:10Source Insight功能强大,特别是看程序!下载地址http://www.yaguo.com/w...
用户478327 2010-04-15 20:10
进程与线程
  进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终...
用户478327 2010-04-01 12:52
嵌入式Linux开发流程(转载)
不同于平常开发的软件,在开发嵌入式系统时,常常把所有的软件模块最终都生成一个单一的文件,我们把这个单一的文件称为image,它一般包括以下布局:bootloaderembedded linux ker...
用户478327 2009-12-17 08:41
编程规范-匈牙利表示法
匈牙利表示法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 一、变量的命名每个变量...
用户478327 2009-10-24 12:06
掉电检测与数据存储(转载)
 2.掉电检测与数据存储1)总体思路   由于电能表的计量是要求持续性的,而主供电系统不可能是持续的,注意这里需要一个掉电检测与数据存储的问题。首先检测出供电系统已经断电,然后启用备用电源存储数据,而...
用户478327 2009-10-21 23:07
嵌入式系统设计的特点
嵌入式系统设计的特点:(1)软硬件协同并行开发(2)嵌入式系统通常面向特定的应用系统(3)实时嵌入式操作系统的多样性(4)与台式机相比,可利用的资源较少(5)嵌入式系统设计需要交差的开发环境     ...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条