RTOS 中断篇-优化共享资源保护中的临界区使用

RTOS 中断篇-优化共享资源保护中的临界区使用

概述

上一节讲述了通过临界区实现与中断相关的共享资源的保护。

临界区的适用范围广,适用于任务与任务、任务与中断、中断与中断的共享资源保护。但是其最大的缺点是进入临界区后,无法响应其他中断,这可能对系统的实时性、任务的调度造成很大的影响。为了减小这种影响,应尽可能地使临界区内的代码简短,但实际使用中,有些低优先级中断或者任务访问共享资源的时间可能很长,我们还有其他设计技巧来减小这种影响。比如通过移除耗时操作、多次开关中断降低临界区(关中断)造成的系统实时性变差的问题。我们将在示例中介绍并使用它们。

需求及功能解析

示例给出了两种模式降低建立临界区后的影响。

原建立临界区的代码如下,临界区内有三行代码:

static void task1_process(void *arg)
{
   
    
    
    

Guess you like

Origin blog.csdn.net/wangyx1234/article/details/128267624