ucos-iii学习之锁住调度器

当OS_CFG_ISR_POST_DEFERRED_EN为1时,进入临界段给调度器上锁。
OS_CRITICAL_ENTER()递增,OSSchedLockNestingCtr值不为0时,表示已上锁。
OS_CRITICAL_EXIT()递减,OSSchedLockNestingCtr 值为0时,表示已上锁。
OS_CRITICAL_EXIT()递减,OSSchedLockNestingCtr值为0时,不调用调度函数。
测量调度器锁定时间:
通过设置 OS_CFG.H中的 OS_CFG_SCHED_LOCK_TIME_MEAS_EN 为 1 开启。
调度锁定时间单位与系统时间戳CPU_TS的单位一致。

小结:uC/OS-III 中会用到临界段,用 关 中 断 (OS_CFG.H 中 设 置 OS_CFG_ISR_POST_DEFERRED_EN 为 0) 或 者 锁 调 度 器 ( 设 置 OS_CFG_ISR_POST_DEFERRED_EN 为 1)实现保护临界段的功能。 用户程序不能使用这些代码:OS_CRITICAL_ENTER() OS_CRITICAL_EXIT() OS_CRITICAL_EXIT_NO_SCHED()

如果设置了CPU_CFG.H中的CPU_CFG_TIME_MEAS_INT_DIS_EN 为 1 时。uC/CPU 将会任务总 的关中断时间和每个任务的关中断时间。

如果设置了OS_CFG.H中的OS_CFG_SCHED_LOCK_TIME_MEAS_EN 为 1 时。uC/OS-III 会测量任务总的锁调度器时间和每个任务锁调度器时间。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值