ucosII学习笔记-1

内核结构学习                     
一.临界段(Critical Sections)。
    代码的临界段也称为临界区。程序执行到临界区时,不允许有中断进入,因此在进入临界区前要关中断,执行完临界区马上开中断。
    μC/OS-Ⅱ中的这两个宏调用分别是:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。因为这两个宏的定义取决于所用的微处理器,故在文件OS_CPU.H中可以找到相应宏定义。每种微处理器都有自己的OS_CPU.H文件。51处理器的例子如下:
    #define OS_ENTER_CRITICAL() EA=0
    #define OS_EXIT_CRITICAL()  EA=1
 
二.任务及任务状态
1.任务是一个无限循环,不返回任何值,因此函数类型为void。如果要退出任务,任务需自我删除,如下:    
  1. void YourTask(void *pdata)
  2. {
  3.    ....
  4.    OSTaskDel(OS_PRIO_SELF);
  5. }
2.任务状态:
1.睡眠态(DORMANT)指任务驻留在程序空间之中,还没有交给μC/OS-Ⅱ管理。把任务交给μC/OS-Ⅱ是通过2.调用下述两个函数之一:OSTaskCreate()或OSTaskCreateExt()。
3.等待态(WAITING)指等待某一事件的触发而进入就绪态。
4.就绪态(READY)指在队列中等待的任务,一切就绪,只缺东风——CPU。
5.运行态(RUNNING)指拥有CPU控制权,正在运行的任务。正在运行的任务可以通过调用两个函数之一将自身延迟一段时间,这两个函数是OSTimeDly()或OSTimeDlyHMSM()。正在运行的任务可以通过以下几个函数进入等待态,OSSemPend(),OSMboxPend(),或OSQPend()。
6.中断服务态(ISR)指程序运行处于中断过程,CPU正在处理中断事件。
7.空闲状态。当所有的任务都在等待事件发生或等待延迟时间结束,μC/OS-Ⅱ执行空闲任务(idle task),执行OSTaskIdle()函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值