nu-lb-nuc140 RTX 流程 分析(七)
<RL-ARM 实时库用户指南.chm>
<ARM Cortex-M0权威指南(中文) 高清扫描版.pdf>
参考例程;
Nu_LB_Nuc140[NUC240][ADC]KEIL_RTX[NUC240][ADC]KEIL RTX\NUC230_240BSP_CMSIS_V3.00.001-KEIL RTX\SampleCode\StdDriver

中断 与 恢复






#define NVIC_SYS_PRI2 (*((volatile U32 )0xE000ED1C))
#define NVIC_SYS_PRI3 (((volatile U32 *)0xE000ED20))



其他的中断的优先级 为0 ,那么
优先级: PRI_11 > PRI_14 = PRI_15
优先级: SVCall > PendSV = SysTick
优先级:
其他中断 > SVCall > PendSV = SysTick
0 > 2 > 3 = 3
其他中断 由于 优先级相同 他们之间是不能互相嵌套的
但是 外部 中断 可以 嵌套 SVCall PendSV SysTick 的中断处理函数

虽然RTL-RTX允许中断函数并发执行,但还是推荐避免使用IRQ中断的嵌套。好的编程技术可以使用短小的中断函数给RTOS任务发送信号或消息,因此没有必要使用中断嵌套。这同时也避免了中断嵌套中用户模式栈出现不可预测的问题。
在没有RTX核时,ARM应用程序中的中断函数也以同样的方法对中断进行处理。
注意:
RTX核支持FIQ中断。
在FIQ中断函数中不允许调用RTX核的中断服务程序。
isr_evt_set
<RL-ARM 实时库用户指南.chm>
本文深入探讨了RTL-RTX实时操作系统中ARM Cortex-M0内核的中断优先级设置,包括系统优先级寄存器的定义及作用,如NVIC_SYS_PRI2和NVIC_SYS_PRI3。文章详细解释了不同中断类型之间的优先级关系,如其他中断>SVCall>PendSV=SysTick,并强调了中断嵌套的避免及其潜在问题,同时提到了RTX核对FIQ中断的支持。
649





