update 说明文档/CosyOS原理与应用.md.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2024-01-04 05:27:18 +00:00
committed by Gitee
parent 6580c120bd
commit d08a1da7ac

View File

@@ -256,6 +256,30 @@ MCU的核心价值在于中断的使用实现对紧急事件的及时响应
零中断延迟是CosyOS的宗旨是原则和底线必须坚决贯彻落实。<br>
### 零中断延迟基本原理
* **CosyOS-实时运行模型** <br>
* **中断层** 【用户中断按中断优先级实时抢占、零中断延迟】
* **用户中断** <br>
**->** 中断本地服务的执行<br>
**->** 中断挂起服务的装载<br>
* **服务层** 【内核服务】
* **SysTick** [minpri]<br>
**->** 软件RTC/定时器计数<br>
**->** 恢复定时任务<br>
**->** 调用定时钩子/滴答钩子(滴答服务的执行)<br>
* **PendSV** [minpri]<br>
**->** 中断挂起服务的执行<br>
**->** 任务调度/切换<br>
* **任务临界区** [关闭SysTick/PendSV]<br>
**->** 任务服务的执行<br>
* **任务层** 【不同优先级的任务抢占式调度,相同优先级的任务时间片轮转调度】
* Taskmgr[maxpri]
* Debugger[maxpri]
* Starter[maxpri-1]
* 一般用户任务[maxpri-1 ~ minpri+1:1]
* 用户空闲任务[minpri:0]
* 系统空闲任务[minpri:0]
* 服务层中SysTick、PendSV、任务临界区三者间是互斥访问的。换言之整个服务层是一个大临界区。<br>
* 所有内核服务(中断本地服务除外),均在服务层(临界区)执行,从而保证服务的“操作流”不会被打断。<br>
* 中断本地服务采用互斥访问机制。<br>