作者GTFX (我达达的马蹄~)
看板ASM
标题Re: [问题] 关於RTOS preemptive kernel实际排程的 …
时间Sun Feb 14 20:02:53 2010
※ 引述《neutopia (journey)》之铭言:
: 现在在看 uC/OS已经移植在某chip上的source code
: 发现和书上讲的原理有一点差异
: 书上是说只要ISR做完时就会重新排程,由priority最高的task去执行
: 我看的Code只有在system tick timer的ISR里有作schedule
: 其他都没有
其他的isr也可能会有,例如你的driver如果用到semaphore
top half的isr去give一个semaphore,然後给bottom half的task去take这个semaphore
那你从pend_semaphore(function名字我有点忘了 印象中是这个)
sorry 手边没source code
那边trace下去可以看到最後会呼叫到OS_Schedule(印象中是这个名字) 重新排程
然後就会做context switch了。 所以还是看你driver的写法。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.20.203.228
1F:推 Ross0916:OS_Sched() 好像啦... 02/17 23:51