亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tmc.c

?? 基于OMAP1510的Nucleus移植代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
        (list_ptr -> tm_previous_timer) -> tm_next_timer =  timer;
        list_ptr -> tm_previous_timer =  timer;

        /* Update the remaining time parameter.  */
        timer -> tm_remaining_time =  time;

        /* Determine if a new timer should be started.  */
        if (!TMD_Active_List_Busy)
        {

            /* Calculate the new timer expiration.  */
            time =  TMD_Active_Timers_List -> tm_remaining_time;

            /* Determine if the new expiration is less than the current
               time, if any.  If not, let already started time expire.  */
            if (time <= TMD_Timer_Start)
            {

                /* Setup for a smaller timer expiration.  */
                TMD_Timer_Start =  time;

                /* Determine if there is any time remaining on the timer in
                   the front of the list.  If so, adjust the timer.
                   Otherwise, the Timer HISR is already pending, so skip
                   starting the timer again.  */
                if (TMD_Timer_Start)

                    /* Still some remaining time, adjust the timer.  */
                    TMT_Adjust_Timer(TMD_Timer_Start);
                else

                    /* Indicate that the task and application timer has
                       expired. */
                    TMD_Timer_State =  TM_EXPIRED;
            }
        }
    }
}


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      TMC_Stop_Timer                                                   */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function is responsible for stopping both application and   */
/*      task timers.  This routine must be called from Supervisor mode   */
/*      in a Supervisor/User mode switching kernel.                      */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      TMC_Control_Timer                   Control application timer    */
/*      TMC_Stop_Task_Timer                 Start task timer             */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      TMT_Disable_Timer                   Disable the count-down timer */
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      timer                               Timer control block pointer  */
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*        DATE                    REMARKS                                */
/*                                                                       */
/*      03-01-1993      Created initial version 1.0                      */
/*      04-19-1993      Verified version 1.0                             */
/*      08-09-1993      Corrected a problem associated                   */
/*                      with stopping the last timer                     */
/*                      on the active list, resulting                    */
/*                      in version 1.0a                                  */
/*      08-09-1993      Verified version 1.0a                            */
/*                                                                       */
/*************************************************************************/
VOID  TMC_Stop_Timer(TM_TCB *timer)
{

    /* Note that the active timer list is already under protection.  */

    /* If the next neighbor of the timer that needs to be stopped is not the
       head of the timer list, add the remaining time field to the remaining
       time of the next neighbor.  */
    if ((timer -> tm_next_timer) != TMD_Active_Timers_List)

        /* Adjust the next neighbor's remaining time field.  */
        (timer -> tm_next_timer) -> tm_remaining_time =
                   (timer -> tm_next_timer) -> tm_remaining_time +
                                                timer -> tm_remaining_time;

    /* Unlink the timer from the active list.  */
    if (timer -> tm_next_timer == timer)
    {
        /* Only timer on the list.  */
        TMD_Active_Timers_List =  NU_NULL;

        /* Disable the timer.  */
        TMT_Disable_Timer();
    }
    else
    {

        /* More than one timer on the list.  */
        (timer -> tm_previous_timer) -> tm_next_timer = timer -> tm_next_timer;
        (timer -> tm_next_timer) -> tm_previous_timer =
                                                timer -> tm_previous_timer;

        /* Determine if the timer is at the head of the list.  */
        if (TMD_Active_Timers_List == timer)

            /* Yes, move the head pointer to the next timer.  */
            TMD_Active_Timers_List =  timer -> tm_next_timer;
    }

    /* Clear the timer's next and previous pointers.  */
    timer -> tm_next_timer =      NU_NULL;
    timer -> tm_previous_timer =  NU_NULL;
}


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      TMC_Timer_HISR                                                   */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function is responsible for High-Level interrupt processing */
/*      of a timer expiration.  If an application timer has expired,     */
/*      the timer expiration function is called.  Otherwise, if the      */
/*      time-slice timer has expired, time-slice processing is invoked.  */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      TCC_Time_Slice                      Task time-slice processing   */
/*      TMC_Timer_Expiration                Timer expiration processing  */
/*      TMT_Retrieve_TS_Task                Retrieve time-sliced task ptr*/
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*         DATE                    REMARKS                               */
/*                                                                       */
/*      03-01-1993      Created initial version 1.0                      */
/*      04-19-1993      Verified version 1.0                             */
/*      08-09-1993      Added sleep, timeout, and                        */
/*                      application timer expiration                     */
/*                      processing to the timer HISR,                    */
/*                      using time slice task pointer                    */
/*                      instead of state flag,                           */
/*                      resulting in version 1.0a                        */
/*      08-09-1993      Verified version 1.0a                            */
/*      03-01-1994      Modified function interface to                   */
/*                      TCC_Time_Slice, added logic to                   */
/*                      insure valid pointer for some                    */
/*                      ports, resulting in version 1.1                  */
/*                                                                       */
/*      03-18-1994      Verified version 1.1                             */
/*                                                                       */
/*************************************************************************/
VOID  TMC_Timer_HISR(VOID)
{

NU_TASK     *task;                          /* Time slice task.  */


    /* Determine if the task timer has expired.  */
    if (TMD_Timer_State == TM_EXPIRED)

        /* Resume the timer task.  */
        TMC_Timer_Expiration();

    /* Determine if the time-slice timer has expired.  */
    task =  TMT_Retrieve_TS_Task();
    if (task)
    {
        NU_SUPERV_USER_VARIABLES

        /* Switch to supervisor mode

           Note that this HISR function can make the switch to supervisor mode
           this is only possible because the code lives within the kernel */
        NU_SUPERVISOR_MODE();

        /* Reset the time-slice state.  */
        TMD_Time_Slice_State =  TM_NOT_ACTIVE;

        /* Process the time-slice.  */
        TCC_Time_Slice(task);

        /* Clear the time slice task pointer.  */
        TMD_Time_Slice_Task =  NU_NULL;

        /* Return to user mode */
        NU_USER_MODE();
    }
}


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      TMC_Timer_Expiration                                             */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function is responsible for processing all task timer       */
/*      expirations.  This includes application timers and basic task    */
/*      timers that are used for task sleeping and timeouts.             */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      expiration_function                 Application specified timer  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人小视频| 欧美va亚洲va| 亚洲精品一区二区三区99| ...av二区三区久久精品| 婷婷夜色潮精品综合在线| 国产jizzjizz一区二区| 97se亚洲国产综合在线| 精品久久人人做人人爰| 一区二区三区日韩| 丰满亚洲少妇av| 日韩免费视频一区| 亚洲欧洲精品一区二区精品久久久| 看电视剧不卡顿的网站| 欧美午夜一区二区三区 | 国产精品乡下勾搭老头1| 欧美日本在线观看| 一区二区三区四区精品在线视频| 国产a级毛片一区| 久久久久国产精品麻豆| 三级在线观看一区二区| 91蜜桃婷婷狠狠久久综合9色| 久久亚洲影视婷婷| 日本成人在线网站| 欧美色欧美亚洲另类二区| 亚洲欧洲一区二区三区| 久久精品国产99久久6| 欧美日韩国产综合一区二区三区 | 日本一区二区视频在线| 青青青伊人色综合久久| 欧美性色黄大片手机版| 国产精品久久福利| 国产成人综合视频| 国产日韩精品久久久| 国产毛片精品视频| 久久天堂av综合合色蜜桃网| 麻豆中文一区二区| 欧美精品777| 亚洲成a人片在线不卡一二三区| 91片在线免费观看| 欧美日韩国产免费一区二区| 亚洲精品少妇30p| www.亚洲在线| 中国av一区二区三区| 一二三四社区欧美黄| 99热这里都是精品| 中文字幕在线不卡视频| 国产成人在线看| 国产欧美一区二区精品性色| 国产盗摄一区二区三区| 久久无码av三级| 国产一区二区免费视频| 国产欧美精品在线观看| aaa欧美日韩| 一区二区三区资源| 欧美日韩激情在线| 美女精品自拍一二三四| 精品国产91九色蝌蚪| 国产成人午夜视频| 欧美高清在线一区二区| 成人app在线观看| 亚洲激情中文1区| 欧美猛男超大videosgay| 亚洲成人激情自拍| 91精品国产综合久久精品麻豆| 视频一区二区欧美| 精品嫩草影院久久| 国产精品888| 国产精品毛片无遮挡高清| 成人免费视频免费观看| 亚洲麻豆国产自偷在线| 欧美三级中文字幕在线观看| 日韩电影免费在线看| 欧美大黄免费观看| 国产一区二区三区香蕉| 中文字幕在线播放不卡一区| av电影天堂一区二区在线观看| 亚洲在线视频一区| 日韩欧美在线一区二区三区| 国产在线精品一区二区不卡了| 精品免费视频一区二区| www.欧美亚洲| 亚洲午夜久久久久久久久久久| 欧美片网站yy| 国产精品91一区二区| 亚洲图片激情小说| 欧美二区在线观看| 国产一区二区伦理片| 亚洲图片另类小说| 欧美视频第二页| 激情欧美日韩一区二区| 中文字幕在线不卡| 欧美日韩一级二级三级| 国产精品综合在线视频| 有坂深雪av一区二区精品| 欧美日韩亚洲不卡| 国产成人h网站| 婷婷亚洲久悠悠色悠在线播放 | 91亚洲精华国产精华精华液| 亚洲午夜电影在线| 日韩欧美国产综合| caoporn国产精品| 日韩精品电影一区亚洲| 精品国产免费视频| 色系网站成人免费| 激情图区综合网| 日韩av电影免费观看高清完整版在线观看| 久久久久久久久久久久久久久99 | 免费不卡在线观看| 国产精品嫩草99a| 欧美日韩一级二级| 成人精品视频一区| 蜜臀99久久精品久久久久久软件| 亚洲同性同志一二三专区| 日韩免费高清电影| 欧美在线制服丝袜| 成人免费视频视频| 久久电影网站中文字幕| 亚洲欧美另类久久久精品| 欧美r级在线观看| 色婷婷综合中文久久一本| 国产在线精品一区二区三区不卡| 一区二区不卡在线视频 午夜欧美不卡在| 欧美一级免费观看| 在线观看成人免费视频| 成人av电影观看| 国内精品久久久久影院薰衣草 | 欧美电影一区二区三区| bt7086福利一区国产| 麻豆国产精品官网| 午夜久久福利影院| 欧美mv日韩mv国产网站app| 色视频欧美一区二区三区| 东方欧美亚洲色图在线| 美腿丝袜在线亚洲一区| 亚州成人在线电影| 亚洲色图丝袜美腿| 国产精品久久久久久久久果冻传媒| 欧美精品一区二区在线观看| 欧美丰满少妇xxxxx高潮对白| 日本高清无吗v一区| 成人aa视频在线观看| 高清免费成人av| 国产精品亚洲第一区在线暖暖韩国| 麻豆91精品91久久久的内涵| 婷婷久久综合九色国产成人| 亚洲欧美色图小说| 中文字幕一区二区三区在线不卡| 国产色产综合产在线视频| 精品国产成人在线影院| 精品三级在线观看| 精品噜噜噜噜久久久久久久久试看 | 欧美日韩激情一区| 97精品超碰一区二区三区| 成人免费毛片app| 国产激情视频一区二区三区欧美 | 亚洲第四色夜色| 亚洲一区二区在线播放相泽| 亚洲色图.com| 亚洲精品五月天| 亚洲精品自拍动漫在线| 亚洲欧美欧美一区二区三区| 91精品国产一区二区三区 | 国内精品视频一区二区三区八戒| 久久精品99国产精品| 久久99精品国产91久久来源| 激情综合亚洲精品| 国产一区视频网站| 国产精品91一区二区| jvid福利写真一区二区三区| av亚洲精华国产精华精华| 91麻豆国产在线观看| 色伊人久久综合中文字幕| 91福利视频在线| 欧美男生操女生| 精品国产露脸精彩对白| 在线免费不卡电影| 欧美日韩久久久| 欧美大片在线观看一区| 久久精品视频免费| 国产精品成人在线观看| 一区二区在线观看视频在线观看| 亚洲国产精品久久不卡毛片| 日日夜夜免费精品视频| 麻豆91在线看| 成人自拍视频在线观看| 91美女视频网站| 欧美老年两性高潮| 精品久久久久久久久久久久久久久久久 | 成人精品鲁一区一区二区| 91视频国产观看| 欧美精品视频www在线观看| 日韩精品一区二区三区四区视频| 国产视频一区在线观看| 亚洲人一二三区| 日韩av电影天堂| 国产成人亚洲综合色影视| 色香蕉成人二区免费| 宅男在线国产精品| 色综合久久久久综合99| 欧美日韩国产高清一区二区|