ucos-iii学习之关中断

来源:互联网 发布:极客学院 java 编辑:程序博客网 时间:2024/05/17 21:40

首先说一下临界段代码,也称作临界域,是一段不可分割的代码。如果临界段可能被中断或任务级代码打断,那么需要关中断或锁调度器保护临界段。
如果OS_CFG_ISR_POST_DEFERRED_EN被设为0,在进入临界段之前会关闭中断。
如果OS_CFG_ISR_POST_DEFERRED_EN被设为1,在进入临界段之前会关闭调度器。
uCOS-iii定义了一个进入临界段的宏和两个出临界段的宏:
OS_CRITICAL_ENTER(),
OS_CRITICAL_EXIT(),
OS_CRITICAL_EXIT_NO_SCHED()。

然后就是关中断啦。

这里写图片描述

测量关中断的时间
通过设置CPU_CFG.H中的CPU_CFG_TIME_MEAS_INT_DIS_EN为1启用该功能。
每个任务的关中断时间被保存于OS_TCB。
时间戳的哦控制单位位于CPU_TS中,时间戳的速率决定于CPU的速率。

原创粉丝点击