Re: [問題] 關於RTOS preemptive kernel實際排程的 …

看板ASM (組合語言)作者 (我達達的馬蹄~)時間14年前 (2010/02/14 20:02), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《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

02/17 23:51, , 1F
OS_Sched() 好像啦...
02/17 23:51, 1F
文章代碼(AID): #1BT-Pmrt (ASM)
文章代碼(AID): #1BT-Pmrt (ASM)