看板 ASM 關於我們 聯絡資訊
※ 引述《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
Ross0916:OS_Sched() 好像啦... 02/17 23:51