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

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

?? tmc.c

?? 基于OMAP1510的Nucleus移植代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*                                            expiration function        */
/*      TCC_Task_Timeout                    Task timeout function        */
/*      TCT_System_Protect                  Protect active timer list    */
/*      TCT_Unprotect                       Release protection of list   */
/*      TMC_Stop_Timer                      Stop timer                   */
/*      TMC_Start_Timer                     Start timer                  */
/*      TMT_Disable_Timer                   Disable timer                */
/*      TMT_Enable_Timer                    Enable timer                 */
/*                                                                       */
/* 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      Changed from TMC_Timer_Task to                   */
/*                      TMC_Timer_Expiration,                            */
/*                      resulting in version 1.0a                        */
/*      08-09-1993      Verified version 1.0a                            */
/*      03-01-1994      Modified function interface to                   */
/*                      TCC_Task_Timeout, changed                        */
/*                      protection logic to use system                   */
/*                      protetion, added register                        */
/*                      logic, resulting in version 1.1                  */
/*                                                                       */
/*      03-18-1994      Verified version 1.1                             */
/*      08-25-95        Made the following changes                       */
/*                                                                       */
/*    +INT             type = 0;                Type of expiration       */
/*    +VOID           *pointer = NU_NULL;       Pointer type             */
/*    +UNSIGNED        id = 0;                  Application timer ID     */
/*    -INT             type;                    Type of expiration       */
/*    -VOID           *pointer;                 Pointer type             */
/*    -UNSIGNED        id;                      Application timer ID     */
/*                                              Expiration routine ptr   */
/*    +VOID            (*expiration_routine)(UNSIGNED)= NU_NULL;         */
/*    -VOID            (*expiration_routine)(UNSIGNED);                  */
/*                                                                       */
/*************************************************************************/
VOID  TMC_Timer_Expiration(VOID)
{

R1 TM_TCB      *timer;                      /* Pointer to timer         */
R2 TM_APP_TCB  *app_timer;                  /* Pointer to app timer     */
INT             done;                       /* Expiration completion    */
INT             type = 0;                   /* Type of expiration       */
VOID           *pointer = NU_NULL;          /* Pointer type             */
UNSIGNED        id = 0;                     /* Application timer ID     */
                                            /* Expiration routine ptr   */
VOID            (*expiration_routine)(UNSIGNED)= NU_NULL;
NU_SUPERV_USER_VARIABLES

    /* Switch to supervisor mode */
    NU_SUPERVISOR_MODE();

    /* Use system protect to protect the active timer list.  */
    TCT_System_Protect();

    /* Reset the timer state flag.  */
    TMT_Disable_Timer();

    /* Set the busy flag to indicate that the list is being processed.  */
    TMD_Active_List_Busy =  NU_TRUE;

    /* Update the head of the list with the timer expiration
       value.  */
    timer =  TMD_Active_Timers_List;
    if (timer)
    {

        /* Adjust the active timer's remaining time value.  Note that
           TMD_Timer_Start is never greater than the value in the first
           timer location.  */
        if (timer -> tm_remaining_time > TMD_Timer_Start)

            /* Timer has not expired.  Simply subtract the last timer
               value. */
            timer -> tm_remaining_time = timer -> tm_remaining_time -
                                                    TMD_Timer_Start;
        else

            /* Clear the remaining time field of the timer.  */
            timer -> tm_remaining_time =  0;
    }

    /* Release protection, but keep the busy flag set to prevent
       activating new timers.  */
    TCT_Unprotect();


    /* Find expired timers.  Note that the expired timers have values of
       0 in the remaining time field.  */
    done =  NU_FALSE;
    do
    {

        /* Protect against list access.  */
        TCT_System_Protect();

        /* Pickup the head of the active list.  */
        timer =  TMD_Active_Timers_List;

        /* Determine if the timer now at the head of the list has
           expired.  Processing continues until the list is empty or
           until a non-expired timer is at the front of the list. */
        if ((timer) && (timer -> tm_remaining_time == 0))
        {

            /* Timer has expired.  Determine which type of timer has
               expired.  */
            if (timer -> tm_timer_type == TM_APPL_TIMER)
            {

                /* Application timer has expired.  */
                type =  TM_APPL_TIMER;

                /* Pickup the pointer to the application timer control
                   block.  */
                app_timer =  (TM_APP_TCB *) timer -> tm_information;

                /* Increment the number of expirations.  */
                app_timer -> tm_expirations++;
#ifdef INCLUDE_PROVIEW
    _RTProf_DumpTimer(RT_PROF_APP_TIMER_EXPIRED,app_timer,RT_PROF_OK);
#endif

                /* Move the expiration information into local variables
                   in case they get corrupted before this expiration can
                   be processed.  Expirations are processed without the
                   list protection in force.  */
                id =                  app_timer -> tm_expiration_id;
                expiration_routine =  app_timer -> tm_expiration_routine;

                /* Clear the enabled flag and remove the timer from the
                   list.  */
                app_timer -> tm_enabled =  NU_FALSE;
                TMC_Stop_Timer(timer);

                /* Determine if this timer should be started again.  */
                if (app_timer -> tm_reschedule_time)
                {

                    /* Timer needs to be rescheduled.  */

                    /* Setup the enable flag to show that the timer is
                       enabled.  */
                    app_timer -> tm_enabled =  NU_TRUE;

                    /* Call the start timer function to actually enable
                       the timer.  This also puts it in the proper place
                       on the list.  */
                    TMC_Start_Timer(timer,app_timer -> tm_reschedule_time);
                }
            }
            else
            {

                /* Task timer has expired (sleeps and timeouts).  */
                type =  TM_TASK_TIMER;

                /* Remove the timer from the list.  */
                TMC_Stop_Timer(timer);

                /* Save-off the task control block pointer.  */
                pointer =  timer -> tm_information;
            }
        }
        else

            /* Processing is now complete- no more expired timers on the
               list.  */
            done =  NU_TRUE;

        /* Release protection of active list.  */
        TCT_Unprotect();

        /* Determine if a timer expiration needs to be finished.  Note
           that the actual expiration processing is done with protection
           disabled.  This prevents deadlock situations from arising.  */
        if (!done)
        {

            /* Determine which type of timer has expired.  */
            if (type == TM_APPL_TIMER)

                /* Call application timer's expiration function.  */
                (*(expiration_routine)) (id);
            else

                /* Call the task timeout function in the thread control
                   function.  */
                TCC_Task_Timeout((NU_TASK *) pointer);
        }
    } while (!done);

    /* Protect the active list again.  */
    TCT_System_Protect();

    /* Clear the busy flag to indicate that list processing is complete. */
    TMD_Active_List_Busy =  NU_FALSE;

    /* Determine if a new timer should be enabled.  */
    if (TMD_Active_Timers_List)
    {

        /* Yes, a new timer should be activated.  */

        /* Pickup the new timer expiration value.  */
        TMD_Timer_Start =  TMD_Active_Timers_List -> tm_remaining_time;

        /* Start the new timer.  */
        TMT_Enable_Timer(TMD_Timer_Start);
    }

    /* Release protection of the active timer list.  */
    TCT_Unprotect();

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





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲天天做日日做天天谢日日欢 | 99re这里都是精品| 国产精品一线二线三线| 美日韩一区二区三区| 99国产精品久久久久久久久久 | 欧美一区二区三区性视频| 中文字幕在线一区| 国产精品久久午夜夜伦鲁鲁| 亚洲综合免费观看高清完整版| 日本乱人伦一区| 中文字幕免费不卡在线| 亚洲国产一二三| 欧美成人bangbros| 欧美一区日本一区韩国一区| 首页欧美精品中文字幕| 一本色道亚洲精品aⅴ| 一区二区三区精品| 91在线视频免费观看| 91精品国产一区二区三区 | 99国产一区二区三精品乱码| 精品国产3级a| 99久久婷婷国产精品综合| 天天av天天翘天天综合网| 538在线一区二区精品国产| 日本系列欧美系列| 精品国产乱码久久久久久久久| 精品一二三四在线| 午夜精品久久久久久久久久 | 亚洲国产精品一区二区久久恐怖片| 91女人视频在线观看| 精品一区二区三区av| 欧美肥大bbwbbw高潮| 午夜欧美一区二区三区在线播放| 丝袜诱惑亚洲看片| 在线电影一区二区三区| 99热精品一区二区| 久久久久久亚洲综合影院红桃 | 国产精品二三区| 一本色道久久综合狠狠躁的推荐| 在线成人午夜影院| 一本大道久久a久久精二百| 麻豆极品一区二区三区| 国产亚洲欧美一级| 欧美视频在线观看一区二区| 99麻豆久久久国产精品免费| 色综合 综合色| 狠狠色综合日日| 免费观看在线综合色| 欧美日韩aaaaaa| 日韩av成人高清| 国产精品国产三级国产aⅴ无密码| 欧美日韩一二区| 亚洲欧美一区二区三区极速播放| 亚洲男人的天堂在线观看| 国产精品一区二区三区99| 欧美成人精品1314www| 国产成人精品1024| 国产精品―色哟哟| 国产99久久久精品| 亚洲免费观看在线观看| 在线观看日韩电影| 国产精品麻豆欧美日韩ww| 色呦呦国产精品| 午夜精品久久久久久久99樱桃| 色综合久久六月婷婷中文字幕| 亚洲一区二区美女| 91精品国产综合久久久蜜臀粉嫩| 亚洲国产成人av网| 久久只精品国产| 成人精品一区二区三区中文字幕| 久久综合资源网| 色婷婷狠狠综合| 亚洲成人一二三| 成人不卡免费av| 首页综合国产亚洲丝袜| 777久久久精品| 免费久久精品视频| 亚洲精品在线免费观看视频| 欧美日韩一卡二卡三卡| 欧美午夜电影网| 99免费精品在线观看| 午夜精品在线看| 成人精品小蝌蚪| 欧美一区二区三区白人| jlzzjlzz欧美大全| 99麻豆久久久国产精品免费| 欧美视频一区二区| 亚洲精品一二三| 91成人看片片| 亚洲三级免费观看| 成人午夜电影网站| 国产在线视频一区二区三区| 国产精品少妇自拍| 国产盗摄女厕一区二区三区 | 天堂va蜜桃一区二区三区| 91麻豆swag| 精品少妇一区二区三区日产乱码| 亚洲三级免费电影| 成人av先锋影音| 亚洲私人影院在线观看| 成人禁用看黄a在线| 亚洲图片另类小说| 欧美一卡二卡在线观看| 一区二区三区.www| 久久日韩精品一区二区五区| 精品一区二区在线观看| 欧美性受极品xxxx喷水| 国产精品久久久久国产精品日日| 777午夜精品免费视频| 国产日韩精品视频一区| 国产一区二区三区在线看麻豆| 欧美日韩国产一级片| 成人黄色a**站在线观看| 伊人开心综合网| 5858s免费视频成人| 丝袜美腿亚洲色图| 国产午夜精品久久| 欧美国产日韩在线观看| 免费人成在线不卡| 911精品国产一区二区在线| 日韩一本二本av| 激情久久五月天| 国产另类ts人妖一区二区| 日韩和欧美的一区| 久久久久久久免费视频了| 欧美日韩精品一区二区三区蜜桃 | 国产精品久久久久三级| 欧美日韩国产精品成人| 亚洲国产美女搞黄色| 欧美性猛片xxxx免费看久爱| 一区二区高清免费观看影视大全 | 丝袜亚洲另类欧美| 91麻豆精品在线观看| 色综合天天视频在线观看| 成人久久久精品乱码一区二区三区| 寂寞少妇一区二区三区| 日韩av一区二区在线影视| 三级不卡在线观看| 日韩高清中文字幕一区| 亚洲视频综合在线| 亚洲午夜精品一区二区三区他趣| 一区二区三区国产豹纹内裤在线| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲国产成人av好男人在线观看| 欧美丰满少妇xxxxx高潮对白| 欧美日韩一区二区三区四区五区| 国模无码大尺度一区二区三区| 一区二区免费看| 国产午夜亚洲精品午夜鲁丝片| 日韩一区二区精品在线观看| 色先锋aa成人| www.久久精品| 午夜精品一区二区三区三上悠亚| 国产在线国偷精品免费看| 国产 欧美在线| 精品综合久久久久久8888| 亚洲欧洲色图综合| 国产成人亚洲综合a∨婷婷图片| 亚洲品质自拍视频| 亚洲国产视频直播| 美国av一区二区| av综合在线播放| 欧美二区在线观看| 91麻豆精品久久久久蜜臀| 欧美不卡123| 欧美高清在线视频| 老司机免费视频一区二区| 亚洲国产精品二十页| 亚洲高清视频的网址| 国产91精品免费| 欧美精品欧美精品系列| 国产精品夫妻自拍| 国产一区二区美女诱惑| 在线观看日韩毛片| 国产精品动漫网站| 精品无人码麻豆乱码1区2区| 欧美伊人久久久久久久久影院| 久久久久亚洲蜜桃| 美腿丝袜亚洲三区| 欧美日本在线视频| 亚洲精品视频在线看| 国产精品99久久久| 日韩欧美区一区二| 丝袜诱惑制服诱惑色一区在线观看 | 国产精品一区二区免费不卡| 欧美久久久久久久久中文字幕| 自拍偷拍欧美精品| 国产剧情一区在线| 日韩视频在线你懂得| 亚洲v中文字幕| 日本麻豆一区二区三区视频| 日本精品免费观看高清观看| 中文字幕第一页久久| 国产精品一区二区果冻传媒| 日韩一区二区三区免费观看| 无吗不卡中文字幕| 在线播放一区二区三区| 五月综合激情网| 欧美精选在线播放| 三级欧美韩日大片在线看|