RTOS 中断篇-通过资源守护保护共享资源
概述
前述讲解了通过临界区、关中断解决中断与中断、中断与任务之间共享资源竞争访问的问题。不管是临界区、还是关中断其是都是有副作用的,它们会对系统相关的中断响应造成延迟。本节介绍一种副作用更小的保护共享资源竞争的方法。
在B章节中,我们了解到,当然这种方法并不只适用于通过建立一个守护任务来保护共享资源,也可以通过建立一个守护中断来保护中断与中断之间的共享资源。
当然,无论是守护中断\守护任务,其本质思想都是建立一个资源拥有者,其他中断、任务想要访问共享资源时必须发起通信(请求\通知),然后通过资源拥有者来完成对共享资源的访问。完成共享资源的访问后,资源拥有者可以选择是否将访问结果发送给请求访问资源的一方:
需求及功能解析
本节仍以前述 GPIO 中断与 Task1 共同访问共享变量 s_count
为基础,新增 Task2 作为一个资源拥有者(守护任务)完成对共享资源的访问。演示通过资源拥有者完成