1> configMAX_SYSCALL_INTERRUPT_PRIORITY 是一个重要的配置选项,用于在FreeRTOS中指定最高可以被系统调用中断的任务优先级。 这个配置项决定了哪些中断可以在执行系统调用(例如任务切换、信号量获取/释放等)时打断任务。 2> 在FreeRTOS中,带有"FromISR"后缀的API函数,表示可以在中断中安全地调用。但是对于优先级高于c...
那么现在假如我们正在执行任务1或任务2,此时中断5触发,在回调中会执行它需要做的,包含调用safe freertos api,并在执行过程中会进入临界段屏蔽所有低于它优先级的中断和任务(现在先不考虑 FreeRTOS 中的MAX_SYSCALL_INTERRPUT_PRIORITY机制,也就是它不会屏蔽中断1~4)。 Just like (2) in the picture. 就像图中...
all interrupts below MAX_SYSCALL_INTERRPUT_PRIORITY will be blocked, so the accident caused by the interrupt 4 preemption execution mentioned above will not happen.