在Keil ARM的RTL范例中(以NXP的LPC2000为例的),有关OS的时钟初始化,有如下一段: VIC->DefVectAddr = 31;/*(U32)os_def_interrupt*/ VIC->VectAddrs[15] = 15;/*(U32)os_clock_interrupt*/ VIC->VectCntls[15] = 0x20 | OS_TID_;
那就意味着系统时钟中断优先级在IRQ向量中是最低的,那它如何保证实现实时任务切换呢?
它这一点与uC/OS中,把系统时钟设置为IRQ中断的最高优先级刚好相反!
菜农说这样设置是合理的,请说说原因?
也请使用过RTL的老鸟们指点一下!谢谢! |