在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > μC/OS-II在51單片機(jī)上的移植

            μC/OS-II在51單片機(jī)上的移植

            作者: 時(shí)間:2012-04-27 來(lái)源:網(wǎng)絡(luò) 收藏

            假設(shè)現(xiàn)在從Fun1一直運(yùn)行到Fun4,此時(shí)堆棧結(jié)構(gòu)如圖1所示,中間的ADD_A到ADD_D為堆棧中的數(shù)據(jù),左邊的SP到SP-7為堆棧指針,右邊的Fun1到Fun4為對(duì)應(yīng)的調(diào)用函數(shù)。運(yùn)行Fun4時(shí),此時(shí)SP與SP-1所存的值為ADD_D,而ADD_D為Fun3中子函數(shù)Fun4的下一行的地址,即Fun3中3-2行的地址,以此類(lèi)推,ADD_C為2-2行地址,ADD_B 圖1函數(shù)運(yùn)行及堆棧結(jié)構(gòu)圖為1-2行地址。

            本文引用地址:http://www.biyoush.com/article/171557.htm

            b.JPG


            當(dāng)函數(shù)A調(diào)用函數(shù)B時(shí),進(jìn)入函數(shù)B時(shí)就會(huì)把函數(shù)A的斷點(diǎn)地址壓棧,而當(dāng)函數(shù)B運(yùn)行結(jié)束時(shí)則把堆棧中函數(shù)A的斷點(diǎn)地址彈出到PC指針,程序接著從函數(shù)A的斷點(diǎn)開(kāi)始運(yùn)行。如果在函數(shù)B中更改SP及SP-1中的數(shù)據(jù),則函數(shù)B運(yùn)行結(jié)束時(shí)就不會(huì)再返回函數(shù)A中,而返回到SP及SP-1更改后的數(shù)據(jù)所代表的地址。
            以上是函數(shù)調(diào)用時(shí)的基本情況,如果是中斷則堆棧不僅保存斷點(diǎn)地址還會(huì)自動(dòng)保存寄存器的值。任務(wù)調(diào)度就是靠中斷來(lái)實(shí)現(xiàn),中斷中所保存的斷點(diǎn)地址就是任務(wù)的斷點(diǎn)地址,當(dāng)本任務(wù)要再次執(zhí)行時(shí)就把斷點(diǎn)地址賦給PC就可以接著任務(wù)被中斷時(shí)地址順序執(zhí)行。

            3 頭文件
            相關(guān)的4個(gè)文件中有2個(gè)頭文件,這2個(gè)頭文件的比較簡(jiǎn)單,可以參考其它的移植程序。其中OS_CPU.H中主要是數(shù)據(jù)類(lèi)型的定義、堆棧生長(zhǎng)方向的定義、開(kāi)關(guān)中斷的定義以及函數(shù)級(jí)任務(wù)切換的宏定義。OS_CFG.H中主要是任務(wù)數(shù)、優(yōu)先級(jí)數(shù)、事件數(shù)、每秒中斷節(jié)拍數(shù)以及各種系統(tǒng)函數(shù)的使能定義。

            4 匯編與C文件的移植
            在要移植的匯編與C的兩個(gè)文件中有14個(gè)函數(shù),其中9個(gè)是接口函數(shù),可根據(jù)實(shí)際需要來(lái)決定,有5個(gè)是必須寫(xiě)的。這5個(gè)函數(shù)分別是:OS_CPU_C.C文件中的OSTaskStkInit()和OS_CPU_A.ASM文件中的OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()與OSTickISR()。下面就這5個(gè)函數(shù)來(lái)做具體分析。



            關(guān)鍵詞: 移植 機(jī)上 單片 OS-II

            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉