理解ucosii.docVIP

  • 14
  • 0
  • 约9.46千字
  • 约 11页
  • 2017-08-11 发布于河南
  • 举报
3.00 临界段,OS_ENTER_CRITICAL() 和 OS_EXIT_CRITICAL() 3种方法实现上边两个函数:(1) OS_CRITICAL_METHOD==1,用关中断实现OS_ENTER_CRITICAL,用开中断实现OS_EXIT_CRITLCAL();此方法的缺点是如果进入该函数前系统的中断状态是关中断,调用函数后则会改变其中断状态。(2)OS_CRITICAL_METHOD==2, 用在堆栈中保存现在的中断开关状态,然后关中断来实现OS_ENTER_CRITICAL,用从堆栈中弹出原来的中断状态来实现OS_EXIT_CRITICAL();此方法存在的问题是:有些编译器不够灵敏,不能正确进行出入栈操作而引起严重错误。(3)OS_CRITICAL_METHOD==3,用户可以得到当前处理器的状态字值,并保存在一个C函数的局部变量里,这个变量可以用于恢复PSW。 3.01 任务? Ucosii 最多管理64个任务,但有些被系统保留,所以推荐使用其中的56个,不用前4个和后4个;为了使ucosii管理用户任务,必须在建立任务时,将任务的起始地址与其他参数传递给OSTaskCreate()或OSTaskCreateExt()中的一个。 3.02任务状态? (睡眠态、就绪态、运行态、中断服务态、等待态) 当所有任务都在等待事件的发生或等待延迟时间的结束时,ucosi

文档评论(0)

1亿VIP精品文档

相关文档