看板 ASM 關於我們 聯絡資訊
現在在看 uC/OS已經移植在某chip上的source code 發現和書上講的原理有一點差異 書上是說只要ISR做完時就會重新排程,由priority最高的task去執行 我看的Code只有在system tick timer的ISR裡有作schedule 其他都沒有 我的疑問為:哪些中斷做完要排程是由programmer自己決定嗎? 一堆週邊(Ethernet, UART, SPI, Timer)的中斷做完後要不要重新排程 應該是看使用上的需要吧... 而這也會影響到critical section是把所有中斷都disable或者只把有重新排程 的中斷disable... 不知我的想法是否正確? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.247.173.226 ※ 編輯: neutopia 來自: 61.247.173.226 (02/10 09:02)
ruemann:一個是執行緒一個是硬體中斷,不太一樣吧 02/10 14:56
manchester77:應該是獨立的吧,如果連周邊裝置都要重新schedule 02/11 10:48
manchester77:那整個CPU時間都只在做Context switch。 02/11 10:49