本文将对硬核实时操作系统(RTOS)的多任务(线程)及中断处理机制进行详细说明。本文是之前发布的关于RTOS线程和中断操作的补充版本。请注意,不同RTOS可能会有不同的行为,因此请谨慎使用。
下图所示的硬件级实时操作系统(RTOS)的多任务处理与中断处理机制如下:
1) 电源开启(重置事件发生)
2) 重置中断,执行重置操作
3) 重置完成后,进入事件等待状态(wait)
4) 计时器事件发生
5) 计时器中断,执行计时器中断(Timer INT)
6) 计时器中断完成后,执行优先级较高的Hi Level Thread(1)
7) Hi Level Thread(1)完成后,执行优先级较低的Low Level Thread(1)
8) 高优先级中断事件发生
9) 低优先级线程(1)中断,执行高优先级中断Hi INT
10) Hi INT执行过程中发生定时器事件
11) 定时器中断待机
12) Hi INT结束后,执行定时器中断
13) 计时器中断事件结束后,执行高优先级线程(2)
14) 高优先级线程(2)结束后,恢复之前中断的低优先级线程(1)
15) 低优先级线程(1)结束后,执行低优先级线程(2)
16) 低优先级线程(2)结束后,进入事件等待状态

补充)
硬件型实时操作系统(RTOS)是我自行定义的、以实时性为重点的实时操作系统。所谓重视实时性,是指无需通过RTOS即可直接处理中断。
优先级高于定时器中断的中断,是指对响应时间有严格限制、需要在事件发生后立即开始处理的中断。例如,通信中断或外部信号中断等。