临界段代码也叫做临界区,是指那些必须完整连续运行,不可被打断的代码段。当访问这些临界段代码的时候需要对这些临界段代码进行保护。
当宏OS_CFG_ISR_POST_DEFERRED_EN为0时,UCOSIII使用关中断的方式来保护临界段代码,当设置为1的时候就会采用给调度器上锁的方式来保护临界段代码。
UCOSIII定义了一个进入临界段代码的宏:OS_CRITICAL_ENTER(),定义了两个退出临界段代码的宏:OS_CRITICAL_EXIT和OS_CRITICAL_EXIT_NO_SCHED()。使用时,必须先调用宏:CPU_SR_ALLOC();否则无法进入临界段。
本文探讨了UCOSIII操作系统中临界段代码的保护方式,介绍了当宏OS_CFG_ISR_POST_DEFERRED_EN配置不同值时,系统如何通过关中断或调度器上锁来确保代码的完整连续运行。并详细解释了进入和退出临界段的宏使用方法。
3933

被折叠的 条评论
为什么被折叠?



