色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式實時操作系統(tǒng)μCOS-Ⅱ的移植

          嵌入式實時操作系統(tǒng)μCOS-Ⅱ的移植

          作者: 時間:2009-03-18 來源:網(wǎng)絡 收藏

          asm psha
          asm pshh
          asm tsx
          asm pshx
          asm pshh
          asm ldhx OSTCBCur
          asm pula
          asm sta 0, x
          asm pula
          asm sta 1, x
          OSTaskSwHook();
          asm lda OSPrioHighRdy
          asm sta OSPrioCur
          asm ldhx OSTCBHighRdy
          asm sthx OSTCBCur
          asm ldhx 0, x
          asm txs
          asm pulh
          asm pula
          asm sta PAGE
          asm rti

            (3)中斷級任務切換函數(shù)OSIntCtxSw() 該函數(shù)在ISR中執(zhí)行任務的切換功能。由于是在中斷中執(zhí)行的,處理器的大部分寄存器值都已經(jīng)自動保存在堆棧中了,所以該函數(shù)的大部分代碼都和OSCtxSw()相同,只是前半部分保存寄存器的功能不要了。

            (4)OSTickISR()時鐘節(jié)拍服務函數(shù)μⅡ要求用戶提供一個周期性的時鐘源,來實現(xiàn)時間的定時和超時功能。這部分功能由該函數(shù)實現(xiàn)。這個函數(shù)首先保存寄存器的值,然后設置中斷標志、清中斷,再調(diào)用OSTimeTick()遞減延時計數(shù),判斷是否要在中斷中切換任務,最后恢復處理器寄存器,執(zhí)行中斷返回指令,返回到中斷處繼續(xù)執(zhí)行。代碼如下:

          SRTISC_RTIACK = 1;
          asm lda PAGE
          asm psha
          asm pshh
          asm lda OSIntNesting
          asm add #1
          asm sta OSIntNesting
          asm cmp #1
          asm bne Tmr_TickISR1
          asm tsx
          asm pshx
          asm pshh
          asm ldhx OSTCBCur
          asm pula
          asm sta 0, x
          asm pula
          asm sta 1, x
          asm Tmr_TickISR1:
          OSTimeTick();
          OSIntExit();
          asm pulh
          asm pula
          asm sta PAGE
          asm rti

          5、結(jié)論

            本文將μ到8位系列單片機上,并且在MC9S08AW60上穩(wěn)定的運行,有效提高了該系統(tǒng)的性能,充分利用系統(tǒng)資源,使系統(tǒng)的性能得到很大的提高,開闊了應用范圍。同時,作者也將該系統(tǒng)在HCS08的另外兩款單片機MC9S08QE128和MC9S08GB60上實現(xiàn)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術(shù)專區(qū)

          關閉