mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -229,6 +229,21 @@ CosyOS-II 中断挂起服务缓存队列(PendSV_FIFO),已实现所有内
|
||||
注1:其实,即使用户中断是最低优先级,也可能是零中断延迟的(当任务临界区未使用BASEPRI寄存器时),只不过 <br>
|
||||
系统中断可能会与其抢占。而系统中断相对来说还是会占用更多的时间,可能会导致用户中断丢失响应或处理延误。<br>
|
||||
|
||||
### 零中断延迟对比
|
||||
CosyOS与其它RTOS零中断延迟技术的对比。<br>
|
||||
**FreeRTOS** <br>
|
||||
FreeRTOS的零中断延迟有着很大的局限性。<br>
|
||||
仅Cortex-M3以上内核支持在脱管的高优先级中断中实现零中断延迟,但同时却不能调用系统服务。<br>
|
||||
不能调用服务又如何实现同步?<br>
|
||||
让用户自己实现同步又如何保证被同步任务的及时调度?实时性又何从谈起?<br>
|
||||
被管理的低优先级中断无法实现零中断延迟。<br>
|
||||
**Keil RTX4/5** <br>
|
||||
由SysTick、PendSV、SVC,构成服务层临界区,再配合互斥访问指令[STREX、LDREX]实现零中断延迟。<br>
|
||||
仅Cortex-M3/M4等少数内核支持零中断延迟,其它内核却没有这个待遇。<br>
|
||||
|
||||
**CosyOS** <br>
|
||||
所有内核均可实现零中断延迟,只要用户中断不是最低优先级就可实现零中断延迟。<br>
|
||||
|
||||
## 第三章、线程通信
|
||||
|
||||
### 互斥信号量
|
||||
|
||||
Reference in New Issue
Block a user