头都大了,关于uc/osII的任务调度问题,望大家指点迷津
本人正学习把uc/osII移植到LPC2132上,移植再看周工的例程其中有一点始终想不通,他是采用T0作为uc/osII的时钟,当T0中断发生时,进入IRQ中断模式,
是不是先进入IRQ.s汇编中的程序?如果不是,C中的中断服务程序中只是做了如下三步,并没有进行任务调度
IRQ.s中做了任务调度及c文件服务程序调用等等一些操作。但是如果是这样,岂不是每一个IRQ中断都可以引发一次任务调度,那么uc/osII的时钟就不是T0所决定的了!
这样的话,岂不是很有问题!
应该是还有我理解不对的地方,想不通啊?{:mad:}
T0IR = 0x01;
VICVectAddr = 0; // 通知中断控制器中断结束
OSTimeTick(); 高手不现身啊{:sweat:} 在线等 我不是高手,我把教程中的一部分贴出了,不知道能不能帮到你
sxljm888 发表于 2012-10-14 19:57 static/image/common/back.gif
我不是高手,我把教程中的一部分贴出了,不知道能不能帮到你
太感谢你了!
通过你的一部分教程,加上下午查了一下资料,发现所有的IRQ中断都会进入同一个汇编程序,其中调用了对应的中断函数
但是至于什么时候任务切换,就看任务是否进入就绪状态!
理解的稍微通顺一点了!!
呵呵...再次谢谢你了{:biggrin:}
页:
[1]