在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > uC/OS-II在凌陽單片機SPCE061A上的移植

            uC/OS-II在凌陽單片機SPCE061A上的移植

            作者: 時間:2013-10-16 來源:網絡 收藏

            3 uC/OS-II BSP代碼的編寫

              BSP(板級支持包)是介于底層硬件和操作系統(tǒng)之間的軟件層,它對底層硬件進行封裝,使得操作系統(tǒng)不再面對具體的硬件。我們以凌陽SPACE061A單片機為例介紹BSP代碼的編寫。

            3.1 任務切換

              凌陽SPACE061A單片機有R1~R5 五個通用寄存器,還有1個SR(CPU狀態(tài)寄存器),再加上PC,總共有7個CPU內部寄存器在任務切換時需要保存。系統(tǒng)調用OSCtxSw( )來實現任務的切換,下面給出其部分代碼:
            _OSCtxSw:
            PUSHALL // 將所有寄存器壓棧
            OSIntCtxSw_in:
            // 求出系統(tǒng)堆棧的長度 ,并將其存入R2
            R1=SP
            R2=OSStkStart
            R1+=1
            R2=R2-R1
            R1=[_OSTCBCuγ]// R1≤OSTCBStkPtr, R1 為任
            //務堆棧的頭指針
            R1=[R1] // 首先將系統(tǒng)堆棧長度保存在任
            //務堆棧中
            [R1]=R2
            R3=OSStkStart // 得到堆棧的起始地址
            // 保存系統(tǒng)堆棧到任務堆棧
            save_stack:
            R3-=1
            R1+=1
            R4=[R3]
            [R1]=R4
            R2-=1
            JNZ save_stack
            CALL _OSTaskSwHook
            R1=[_OSTCBHighRdy]
            [_OSTCBCur]=R1
            R1=[_OSPrioHighRdy]
            [_OSPrioCur]=R1
            JMP OSCtxSw_in

            3.2 系統(tǒng)時鐘

              以凌陽單片機的TMB2時基信號作為系統(tǒng)時鐘,每經歷一個時鐘節(jié)拍的時間將產生一次中斷,在中斷服務子程序中會調用OSTickISR()函數,匯編代碼如下:
            _OSTickISR:
            PUSHALL
            R1=0x0001
            test R1,[P_INT_Ctrl]
            JZ OUT
            R1=0x0001
            [P_INT_Clear]=R1
            CALL _OSIntEnter
            CALL _OSTimeTick
            CALL _OSIntExit
            OUT:
            R1=0x0001
            [P_INT_Clear]=R1
            POPALL
            RETI

            結 語

              RTOS是當今嵌入式應用的熱點。應用RTOS,可以提高產品的可靠性,降低研發(fā)周期。具有很好的實時性和很小的代碼量,因此掌握uCOS-II的移植方法是相當重要的。


            上一頁 1 2 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉