您的位置:首页 > 其它

ucos-iii学习之关中断

2017-09-11 19:09 225 查看
首先说一下临界段代码,也称作临界域,是一段不可分割的代码。如果临界段可能被中断或任务级代码打断,那么需要关中断或锁调度器保护临界段。

如果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的速率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  os