UCOSII归纳三

1.OS_TCB任务控制块全部驻留在RAM中,这是值得注意的,特别是在RAM缺乏的时候。

2.任务的管理:

  1:建立和删除任务。(注意:任务删除要考虑任务资源的释放。)

  2:请求删除任务:如果任务A运行一段时间已经拥有了一些资源,而任务B想删除它,要是强制删除,这些资源可能没有释放。

  3:改变任务优先级。

  4:挂起和恢复任务。

3.信号量由两部分组成:信号量的计数值和等待该信号量任务的等待列表。主要用于资源共享和任务同步。

4.Malloc和free对内存操作的缺点:1:多次操作会产生内存碎片。2:执行时间并不确定。

5.可重入的代码可以被一个以上的任务调用,而不必担心数据的破坏。

6.void OSCtxSw(void);//用户任务切换

   void OSIntCtxSw(void);//中断任务切换

   void OSStartHighRdy(void);//操作系统第一次启动的时候调用的任务切换。

   void OSPendSV(void);//用户中断处理函数

7.任务函数的局部变量越多,嵌套层数越多,堆栈越偏大,也要注意堆栈对齐问题。

8.Volatile作用是阻止编译器进行优化,每次读取或修改值的时候,都必须重新从内存中或外设寄存器中读取或修改,防止从缓冲处读取的值是过期的。

9.Volatile应用场合:

  1:中断ISR中修改,供其它程序检测的变量。

  2:多任务下任务共享的变量资源。

  3:外设的寄存器地址。

10.STM32中UCOSII的系统时钟节拍

void SysTick_Handler(void)

{

  if(delay_osrunning==1)//OS开始跑了,才执行正常的调度处理

  {  OSIntEnter(); //进入中断

     OSTimeTick(); //判断延迟的任务是否到达时间等             

     OSIntExit(); //触发任务切换软中断

  }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值