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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_cpu_c.c

?? pl2200 zfc 開發(fā)全部文檔,源碼,
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************Copyright (c)**************************************************
**                               廣州周立功單片機(jī)發(fā)展有限公司
**                                     研    究    所
**                                        產(chǎn)品一部 
**
**                                 http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: os_cpu_c.c
**創(chuàng)   建   人: 陳明計
**最后修改日期: 2003年7月8日
**描        述: μCOS-II在lpc210x上的移植代碼C語言部分,包括任務(wù)堆棧初始化代碼和鉤子函數(shù)等
**              用ads1.2編譯,必須使用ARM方式編譯
**
**--------------歷史版本信息----------------------------------------------------------------------------
** 創(chuàng)建人: 陳明計
** 版  本: 1.0
** 日 期: 2003年6月5日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 版  本: 1.1
** 日 期: 2003年6月13日
** 描 述: 增加函數(shù)IsrEnIRQ,使函數(shù)OSTaskStkInit代碼更簡潔
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 版  本: 1.2
** 日 期: 2003年6月19日
** 描 述: 增加軟中斷服務(wù)函數(shù)
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 版  本: 1.3
** 日 期: 2003年7月8日
** 描 述: 去除不必要的函數(shù)IsrEnIRQ
**
**--------------當(dāng)前版本修訂------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
** 描 述: 
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define  OS_CPU_GLOBALS
#include "config.h"


/*********************************************************************************************************
** 函數(shù)名稱: OSTaskStkInit
** 功能描述: 任務(wù)堆棧初始化代碼,本函數(shù)調(diào)用失敗會使系統(tǒng)崩潰
** 輸 入: task  : 任務(wù)開始執(zhí)行的地址
**         pdata :傳遞給任務(wù)的參數(shù)
**         ptos  :任務(wù)的堆棧開始位置
**         opt   :附加參數(shù),當(dāng)前版本對于本函數(shù)無用,具體意義參見OSTaskCreateExt()的opt參數(shù)
** 輸 出: 棧頂指針位置
** 全局變量:
** 調(diào)用模塊: 
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2003年6月13日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

        OS_STK *OSTaskStkInit (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt)
{
    OS_STK *stk;

    opt    = opt;                           /* 'opt'  沒有使用。作用是避免編譯器警告    */
    stk    = ptos;                          /* 獲取堆棧指針                                       */

                                            /* 建立任務(wù)環(huán)境,ADS1.2使用滿遞減堆棧       */
    *stk = (OS_STK) task;                   /*  pc  */
    *--stk = (OS_STK) task;                 /*  lr  */

    *--stk = 0;                             /*  r12  */
    *--stk = 0;                             /*  r11  */
    *--stk = 0;                             /*  r10  */
    *--stk = 0;                             /*  r9   */
    *--stk = 0;                             /*  r8   */
    *--stk = 0;                             /*  r7   */
    *--stk = 0;                             /*  r6   */
    *--stk = 0;                             /*  r5   */
    *--stk = 0;                             /*  r4   */
    *--stk = 0;                             /*  r3   */
    *--stk = 0;                             /*  r2   */
    *--stk = 0;                             /*  r1   */
    *--stk = (unsigned int) pdata;          /*  r0,第一個參數(shù)使用R0傳遞   */
    *--stk = (USER_USING_MODE|0x00);	    /*  spsr,允許 IRQ, FIQ 中斷   */
    *--stk = 0;                             /*  關(guān)中斷計數(shù)器OsEnterSum;    */

    return (stk);
}


/*********************************************************************************************************
** 函數(shù)名稱: SWI_Exception
** 功能描述: 軟中斷異常處理程序,提供一些系統(tǒng)服務(wù)
**           
** 輸 入:  SWI_Num:功能號
**          Regs[0] 為第一個參數(shù),也是返回值
**          Regs[1] 為第二個參數(shù)
**          Regs[2] 為第三個參數(shù)
**          Regs[3] 為第四個參數(shù)
** 輸 出: 根據(jù)功能而定
**         
** 全局變量: 無
** 調(diào)用模塊: 無
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2003年6月19日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2003年6月24日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if OS_SELF_EN > 0 
extern int const _OSFunctionAddr[];
extern int const _UsrFunctionAddr[];
#endif
        void SWI_Exception(int SWI_Num, int *Regs)
{
    OS_TCB   *ptcb;
    
    switch(SWI_Num)
    {
        //case 0x00:                    /* 任務(wù)切換函數(shù)OS_TASK_SW,參考o(jì)s_cpu_s.s文件     */
        //    break;
        //case 0x01:                    /* 啟動任務(wù)函數(shù)OSStartHighRdy,參考o(jì)s_cpu_s.s文件 */
        //    break;
        case 0x02:                      /* 關(guān)中斷函數(shù)OS_ENTER_CRITICAL(),參考o(jì)s_cpu.h文件 */
            __asm
            {
                MRS     R0, SPSR
                ORR     R0, R0, #NoInt
                MSR     SPSR_c, R0
            }
            OsEnterSum++;
            break;
        case 0x03:                      /* 開中斷函數(shù)OS_EXIT_CRITICAL(),參考o(jì)s_cpu.h文件 */
            if (--OsEnterSum == 0)
            {
                __asm
                {
                    MRS     R0, SPSR
                    BIC     R0, R0, #NoInt
                    MSR     SPSR_c, R0
                }
            }
            break;
#if OS_SELF_EN > 0 
        case 0x40:
                                        /* 返回指定系統(tǒng)服務(wù)函數(shù)的地址       */
                                        /* 函數(shù)地址存于數(shù)組_OSFunctionAddr中*/
                                        /* 數(shù)組_OSFunctionAddr需要另外定義  */
                                        /* Regs[0] 為第一個參數(shù),也是返回值 */
                                        /* Regs[1] 為第二個參數(shù)             */
                                        /* Regs[2] 為第三個參數(shù)             */
                                        /* Regs[3] 為第四個參數(shù)             */
                                        /* 僅有一個參數(shù)為系統(tǒng)服務(wù)函數(shù)的索引 */
            Regs[0] =  _OSFunctionAddr[Regs[0]];
            break;
        case 0x41:
                                        /* 返回指定用戶的服務(wù)函數(shù)的地址     */
                                        /* 函數(shù)地址存于數(shù)組_UsrFunctionAddr中*/
                                        /* 數(shù)組_UsrFunctionAddr需要另外定義 */
                                        /* Regs[0] 為第一個參數(shù),也是返回值 */
                                        /* Regs[1] 為第二個參數(shù)             */
                                        /* Regs[2] 為第三個參數(shù)             */
                                        /* Regs[3] 為第四個參數(shù)             */
                                        /* 僅有一個參數(shù)為用戶服務(wù)函數(shù)的索引 */
            Regs[0] =  _UsrFunctionAddr[Regs[0]];
            break;
        case 0x42:                      /* 中斷開始處理 */
            OSIntNesting++;
            break;
        case 0x43:                      /*  判斷中斷是否需要切換             */
            if (OSTCBHighRdy == OSTCBCur)
            {
                Regs[0] = 0;
            }
            else
            {
                Regs[0] = 1;
            }
            break;
#endif
        case 0x80:                      /* 任務(wù)切換到系統(tǒng)模式 */
            __asm
            {
                MRS     R0, SPSR
                BIC     R0, R0, #0x1f
                ORR     R0, R0, #SYS32Mode    
                MSR     SPSR_c, R0
            }
            break;
        case 0x81:                      /* 任務(wù)切換到用戶模式 */
            __asm
            {
                MRS     R0, SPSR
                BIC     R0, R0, #0x1f
                ORR     R0, R0, #USR32Mode    
                MSR     SPSR_c, R0
            }
            break;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产自产在线 | 青青青爽久久午夜综合久久午夜| 亚洲va韩国va欧美va精品| 美女国产一区二区| 国产成人av电影在线| 日本韩国一区二区| 日韩三级在线免费观看| 中文字幕高清不卡| 视频一区二区不卡| 成人18精品视频| 欧美日韩高清在线播放| 欧美激情中文不卡| 污片在线观看一区二区| 成人性色生活片| 717成人午夜免费福利电影| 国产欧美日本一区二区三区| 亚洲国产精品欧美一二99| 麻豆久久一区二区| 91麻豆高清视频| 精品对白一区国产伦| 亚洲综合网站在线观看| 国产成人午夜高潮毛片| 欧美日本一区二区三区四区| 欧美激情一区二区| 免费欧美在线视频| 欧洲亚洲精品在线| 国产色产综合产在线视频| 视频在线观看一区二区三区| 色偷偷久久人人79超碰人人澡| 亚洲三级在线免费观看| 精品一区二区av| 欧美体内she精高潮| 欧美国产一区视频在线观看| 蜜桃在线一区二区三区| 91免费版在线| 国产蜜臀av在线一区二区三区| 亚洲成人激情自拍| 一本久久精品一区二区| 国产亚洲一区二区三区在线观看 | 欧美三级日韩三级国产三级| 国产精品美女久久福利网站| 久久99精品久久久久久动态图| 在线看日本不卡| 国产精品国产三级国产有无不卡| 美女脱光内衣内裤视频久久网站 | 天天色天天操综合| 色哦色哦哦色天天综合| 国产精品女同一区二区三区| 九九在线精品视频| 欧美一级二级三级乱码| 亚洲国产日韩在线一区模特| 色婷婷综合久久| 亚洲天堂福利av| av影院午夜一区| 国产无一区二区| 国产美女娇喘av呻吟久久| 精品国产欧美一区二区| 美腿丝袜在线亚洲一区| 678五月天丁香亚洲综合网| 性感美女久久精品| 欧美日韩精品专区| 亚洲成av人片| 欧美精三区欧美精三区| 亚州成人在线电影| 欧美精品久久天天躁| 五月综合激情婷婷六月色窝| 欧美日韩久久一区| 午夜久久电影网| 欧美日韩国产欧美日美国产精品| 亚洲福中文字幕伊人影院| 欧美专区亚洲专区| 亚洲一区在线观看视频| 欧美日韩中文另类| 日韩中文字幕91| 欧美一卡在线观看| 国产真实乱对白精彩久久| 久久综合色播五月| 国产成人免费在线视频| 中文字幕国产一区| 成人app网站| 亚洲黄色尤物视频| 欧美视频在线播放| 日韩1区2区3区| 久久综合九色综合久久久精品综合| 久久99国产精品成人| 久久中文字幕电影| 成人性色生活片免费看爆迷你毛片| 国产精品欧美经典| 91国产成人在线| 天天色天天爱天天射综合| 欧美一区二区三区四区五区| 精品在线免费观看| 国产欧美一区二区精品秋霞影院| 久草中文综合在线| 欧美丰满嫩嫩电影| 久草精品在线观看| 国产精品女主播在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲精品成人在线| 欧美一卡二卡三卡四卡| 国产一区二区不卡| 亚洲欧美精品午睡沙发| 欧美日韩精品一区二区三区四区 | 精品免费99久久| 成人午夜短视频| 亚洲一区二区三区视频在线 | 久久综合综合久久综合| 久久综合九色综合久久久精品综合| 成人永久aaa| 五月综合激情婷婷六月色窝| 精品福利二区三区| 日本乱人伦一区| 免费成人美女在线观看.| 国产欧美视频在线观看| 欧美优质美女网站| 激情文学综合插| 亚洲日本青草视频在线怡红院| 欧美日韩国产三级| 国产成人午夜高潮毛片| 亚洲福利一区二区三区| 久久久久久久久久久99999| 在线观看视频一区| 国产精品一区二区三区网站| 亚洲欧美日韩系列| 欧美成人a视频| 91麻豆国产精品久久| 激情久久久久久久久久久久久久久久| 国产精品乱码人人做人人爱| 欧美一区二区三区日韩视频| 成人av免费观看| 麻豆精品国产传媒mv男同| 国产精品国产三级国产| 日韩精品专区在线影院重磅| 91碰在线视频| 国产在线观看免费一区| 亚洲v中文字幕| 国产精品白丝在线| 久久亚洲欧美国产精品乐播 | 日韩电影在线看| 亚洲天堂免费看| 久久久蜜桃精品| 欧美日韩国产综合一区二区三区| 夫妻av一区二区| 久久精品国产亚洲a| 一级特黄大欧美久久久| 国产亚洲欧美一级| 日韩欧美色电影| 99久久免费精品| 综合欧美一区二区三区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 不卡视频一二三| 激情av综合网| 青青草原综合久久大伊人精品| 国产精品电影一区二区| 久久久久久久一区| 精品国产一区久久| 日韩欧美国产一区二区在线播放 | 亚洲成人动漫在线免费观看| 中文字幕一区二区三区视频| 国产视频视频一区| 久久一夜天堂av一区二区三区| 欧美男人的天堂一二区| 色婷婷亚洲婷婷| 91亚洲精品久久久蜜桃| 成人免费精品视频| 国产成人在线观看| 激情六月婷婷久久| 久久av老司机精品网站导航| 日本亚洲电影天堂| 丝袜a∨在线一区二区三区不卡| 一区二区免费视频| 亚洲精品中文字幕在线观看| 亚洲欧洲日韩一区二区三区| 久久久久高清精品| 国产亚洲欧美在线| 欧美激情一二三区| 中文字幕免费不卡在线| 国产午夜精品久久| 欧美经典三级视频一区二区三区| 国产午夜精品久久久久久免费视| 精品国产99国产精品| 亚洲精品在线观| www久久久久| 国产丝袜在线精品| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产精品乱码妇女bbbb| 国产精品欧美综合在线| 亚洲日本丝袜连裤袜办公室| 亚洲蜜臀av乱码久久精品| 一区二区三区自拍| 一区二区免费在线| 婷婷开心激情综合| 美女视频网站黄色亚洲| 精品亚洲国内自在自线福利| 国产乱人伦偷精品视频不卡| 国产成人在线视频免费播放| 成人av网站免费观看| 色婷婷av一区二区三区软件| 欧美亚一区二区| 欧美电影一区二区|