mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -220,12 +220,13 @@ MCU的核心价值在于中断的使用,实现对紧急事件的及时响应
|
||||
|
||||
### 中断挂起服务缓存
|
||||
CosyOS-II 中断挂起服务缓存队列(PendSV_FIFO),已实现所有内核的MCU均为先入先出队列(FIFO)。<br>
|
||||
中断挂起服务缓存队列,有必要先入先出吗?答案是确定的,原因在于当中断并发时,服务的执行顺序要符合“不同中断间可能存在的”和“同一中断中必然存在的”提请服务的时序关系。再有,“入队列”与“出队列”的过程必须是原子操作,“操作流”不能被打断。<br>
|
||||
中断挂起服务缓存队列,有必要先入先出吗?答案是确定的,如同一中断中提请的各项服务,可能会存在时序逻辑关系。<br>
|
||||
再有,“入队列”与“出队列”的过程必须是原子操作,“操作流”不能被打断。<br>
|
||||
|
||||
### 中断使用注意事项
|
||||
* 在CosyOS中,中断是系统脱管的,用户对中断的使用与裸机编程是一样的。<br>
|
||||
* **只要用户中断不是最低优先级,就可实现零中断延迟**,用户中断应尽量避免使用最低优先级。<br>
|
||||
注:其实,即使是最低优先级,也可能是零中断延迟的(未使用BASEPRI时),只不过系统中断可能会与其抢占。<br>
|
||||
其实,即使用户中断是最低优先级,也可能是零中断延迟的,只不过系统中断可能会与其抢占。<br>
|
||||
* 用户中断应遵循快进快出的原则,对事件仅做必要的紧急处理,再以同步方式通知 **中断服务任务** 做后续处理。<br>
|
||||
* 用户中断的最大执行时间应远小于系统滴答周期,这将促使整个系统更加良性的运行。<br>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user