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

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

?? os_cpu_c.c

?? S3C2410ARM處理器的uCos2移植實驗代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.zyinside.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name:          os_cpu_c.c
** Last modified Date: 2006-01-06 
** Last Version:       v2.0
** Descriptions:       μCOS-II在lpc210x上的移植代碼C語言部分,包括任務堆棧初始化代碼和鉤子函數等
**                     用ads1.2編譯,必須使用ARM方式編譯
**
**------------------------------------------------------------------------------------------------------
** Created By:         陳明計
** Created date:       2003-06-05
** Version:            v1.0
** Descriptions:       創建
**
**------------------------------------------------------------------------------------------------------
** Modified by:        陳明計
** Modified date:      2003-06-13
** Version:            v1.1
**                     增加函數IsrEnIRQ,使函數OSTaskStkInit代碼更簡潔
**
**------------------------------------------------------------------------------------------------------
** Modified by:        陳明計
** Modified date:      2003-06-19    
** Version:            v1.2 
** Descriptions:       增加軟中斷服務函數
**
**------------------------------------------------------------------------------------------------------
** Modified by:        陳明計
** Modified date:      2003-07-08
** Version:            v1.3
** Descriptions:       去除不必要的函數IsrEnIRQ
**
**------------------------------------------------------------------------------------------------------
** Modified by:        甘達
** Modified date:      2006-01-06
** Version:            v2.0
** Descriptions:       升級注釋
**
**------------------------------------------------------------------------------------------------------
** Modified by:      
** Modified date:     
** Version:           
** Descriptions:      
**
********************************************************************************************************/
#define  OS_CPU_GLOBALS
#include "config.h"


/*********************************************************************************************************
** 函數名稱: OSTaskStkInit
** 功能描述: 任務堆棧初始化代碼,本函數調用失敗會使系統崩潰
** 輸 入: task  : 任務開始執行的地址
**         pdata :傳遞給任務的參數
**         ptos  :任務的堆棧開始位置
**         opt   :附加參數,當前版本對于本函數無用,具體意義參見OSTaskCreateExt()的opt參數
** 輸 出: 棧頂指針位置
** 全局變量:
** 調用模塊: 
**
** 作 者: 陳明計
** 日 期: 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;                          /* 獲取堆棧指針                                       */

                                            /* 建立任務環境,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,第一個參數使用R0傳遞   */
    *--stk = (USER_USING_MODE|0x00);	    /*  spsr,允許 IRQ, FIQ 中斷   */
    *--stk = 0;                             /*  關中斷計數器OsEnterSum;    */

    return (stk);
}


/*********************************************************************************************************
** 函數名稱: SWI_Exception
** 功能描述: 軟中斷異常處理程序,提供一些系統服務
**           
** 輸 入:  SWI_Num:功能號
**          Regs[0] 為第一個參數,也是返回值
**          Regs[1] 為第二個參數
**          Regs[2] 為第三個參數
**          Regs[3] 為第四個參數
** 輸 出: 根據功能而定
**         
** 全局變量: 無
** 調用模塊: 無
**
** 作 者: 陳明計
** 日 期: 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:                    /* 任務切換函數OS_TASK_SW,參考os_cpu_s.s文件     */
        //    break;
        //case 0x01:                    /* 啟動任務函數OSStartHighRdy,參考os_cpu_s.s文件 */
        //    break;
        case 0x02:                      /* 關中斷函數OS_ENTER_CRITICAL(),參考os_cpu.h文件 */
            __asm
            {
                MRS     R0, SPSR
                ORR     R0, R0, #NoInt
                MSR     SPSR_c, R0
            }
            OsEnterSum++;
            break;
        case 0x03:                      /* 開中斷函數OS_EXIT_CRITICAL(),參考os_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:
                                        /* 返回指定系統服務函數的地址       */
                                        /* 函數地址存于數組_OSFunctionAddr中*/
                                        /* 數組_OSFunctionAddr需要另外定義  */
                                        /* Regs[0] 為第一個參數,也是返回值 */
                                        /* Regs[1] 為第二個參數             */
                                        /* Regs[2] 為第三個參數             */
                                        /* Regs[3] 為第四個參數             */
                                        /* 僅有一個參數為系統服務函數的索引 */
            Regs[0] =  _OSFunctionAddr[Regs[0]];
            break;
        case 0x41:
                                        /* 返回指定用戶的服務函數的地址     */
                                        /* 函數地址存于數組_UsrFunctionAddr中*/
                                        /* 數組_UsrFunctionAddr需要另外定義 */
                                        /* Regs[0] 為第一個參數,也是返回值 */
                                        /* Regs[1] 為第二個參數             */
                                        /* Regs[2] 為第三個參數             */
                                        /* Regs[3] 為第四個參數             */
                                        /* 僅有一個參數為用戶服務函數的索引 */
            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:                      /* 任務切換到系統模式 */
            __asm
            {
                MRS     R0, SPSR
                BIC     R0, R0, #0x1f
                ORR     R0, R0, #SYS32Mode    
                MSR     SPSR_c, R0
            }
            break;
        case 0x81:                      /* 任務切換到用戶模式 */
            __asm
            {
                MRS     R0, SPSR
                BIC     R0, R0, #0x1f
                ORR     R0, R0, #USR32Mode    
                MSR     SPSR_c, R0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影视| 91激情五月电影| 日韩女优毛片在线| 韩日av一区二区| 国产午夜精品久久久久久久| 国产激情一区二区三区| 欧美国产乱子伦| 99re热视频精品| 亚洲精品国产无套在线观 | 久久成人av少妇免费| 日韩精品一区二区三区三区免费| 日韩欧美成人一区| 欧美网站大全在线观看| 欧美日韩中文另类| 欧美一区二区三区视频免费播放 | 91福利视频网站| 精品视频全国免费看| 91精品啪在线观看国产60岁| 日韩精品在线一区| 国产精品视频第一区| 亚洲免费资源在线播放| 视频一区欧美日韩| 国产成人超碰人人澡人人澡| 91在线视频免费91| 欧美精品丝袜久久久中文字幕| 日韩视频一区二区三区| 久久久777精品电影网影网 | 国产精品一区二区不卡| 91丨九色丨黑人外教| 欧美无砖砖区免费| 精品va天堂亚洲国产| 最新热久久免费视频| 天堂蜜桃一区二区三区| 韩国女主播一区二区三区| 波多野洁衣一区| 欧美日韩视频在线观看一区二区三区| 欧美成人精品3d动漫h| 国产精品午夜春色av| 日韩综合在线视频| 成人国产精品视频| 日韩一区二区三免费高清| 亚洲欧洲色图综合| 日韩激情中文字幕| 9i看片成人免费高清| 日韩视频一区二区三区在线播放| 国产精品久久久久天堂| 蜜臀av性久久久久蜜臀aⅴ四虎| 大胆欧美人体老妇| 日韩区在线观看| 亚洲欧洲综合另类| 国产91精品一区二区| 制服丝袜亚洲精品中文字幕| 中文字幕一区二区三区四区不卡| 免费欧美日韩国产三级电影| 色婷婷久久一区二区三区麻豆| 亚洲精品在线免费播放| 偷窥国产亚洲免费视频| 91黄色免费版| 综合欧美一区二区三区| 精品一区二区三区久久久| 欧美日韩国产大片| 一区二区三区日韩在线观看| 国产成人99久久亚洲综合精品| 欧美一级久久久久久久大片| 亚洲综合在线第一页| 99精品国产91久久久久久| 中文av一区二区| 国产成人小视频| 精品999久久久| 韩国一区二区三区| 亚洲精品一区在线观看| 精品一区二区三区免费| 日韩区在线观看| 美女视频黄频大全不卡视频在线播放| 555www色欧美视频| 蜜桃一区二区三区在线观看| 欧美精品一二三区| 蜜桃视频第一区免费观看| 日韩一区二区在线看| 日韩精品一二三| 日韩欧美亚洲另类制服综合在线| 日本欧美一区二区| 久久夜色精品一区| 不卡电影免费在线播放一区| 国产精品国产自产拍高清av王其| 99久久伊人网影院| 亚洲主播在线播放| 884aa四虎影成人精品一区| 人人狠狠综合久久亚洲| 欧美sm极限捆绑bd| 成人免费高清视频在线观看| 国产精品久久久久久久岛一牛影视 | 欧美日韩国产综合草草| 首页国产丝袜综合| 久久久久久久综合| 一本大道久久a久久精二百| 亚洲精品国产第一综合99久久| 欧美性xxxxx极品少妇| 日本不卡视频一二三区| 久久亚洲欧美国产精品乐播 | 日本在线不卡视频一二三区| 日韩欧美一二三四区| 国产精品小仙女| 亚州成人在线电影| 精品国产麻豆免费人成网站| 成人高清在线视频| 亚洲成人免费视| 国产亚洲综合av| 在线精品视频小说1| 精品无码三级在线观看视频| 国产精品久久久一本精品| 欧美精品乱码久久久久久按摩| 极品少妇一区二区| 午夜欧美电影在线观看| 久久这里只有精品首页| 欧美专区在线观看一区| 国产不卡视频一区| 性做久久久久久免费观看| 久久久久久一二三区| 欧美日韩国产一级| 国产高清精品网站| 美女视频第一区二区三区免费观看网站 | 视频一区中文字幕国产| 国产精品久久综合| 日韩三级在线观看| 欧美性猛片aaaaaaa做受| 粉嫩aⅴ一区二区三区四区五区| 亚洲妇女屁股眼交7| 国产精品天天摸av网| 精品精品国产高清一毛片一天堂| 91蜜桃传媒精品久久久一区二区| 极品瑜伽女神91| 日韩av网站免费在线| 一区二区三区久久久| 国产精品免费看片| 2020国产精品自拍| 日韩免费电影一区| 欧美日韩一级大片网址| 色婷婷久久久综合中文字幕| 高清视频一区二区| 国产馆精品极品| 国产精品综合二区| 国内精品国产成人国产三级粉色 | 国产亚洲综合在线| 久久影视一区二区| 久久综合九色欧美综合狠狠| 欧美电影免费观看高清完整版在线观看| 色婷婷av一区二区三区之一色屋| 99久久综合精品| 99久久精品免费看| 色综合天天做天天爱| 色婷婷av一区二区三区大白胸| 成人精品视频一区二区三区| 国产91露脸合集magnet| 粉嫩13p一区二区三区| 国产91精品在线观看| 高清beeg欧美| av一二三不卡影片| 色哟哟国产精品| 欧美最猛黑人xxxxx猛交| 欧洲在线/亚洲| 欧美揉bbbbb揉bbbbb| 91.com在线观看| 欧美大片国产精品| 久久精品欧美日韩| 亚洲欧洲精品一区二区精品久久久| 中文一区在线播放| 亚洲最新视频在线观看| 天堂久久久久va久久久久| 日本免费新一区视频| 国产自产v一区二区三区c| 岛国一区二区在线观看| 色妞www精品视频| 4438成人网| 国产精品视频你懂的| 亚洲乱码中文字幕| 美女免费视频一区二区| 国产精品白丝jk黑袜喷水| k8久久久一区二区三区| 欧美色窝79yyyycom| 精品电影一区二区三区| 亚洲欧洲一区二区三区| 日韩不卡手机在线v区| 国产成人午夜片在线观看高清观看| 不卡av在线免费观看| 欧美日韩第一区日日骚| 久久久99精品免费观看不卡| 一级中文字幕一区二区| 久久精品国产免费看久久精品| 成人视屏免费看| 88在线观看91蜜桃国自产| 欧美激情一区三区| 午夜伦理一区二区| 9人人澡人人爽人人精品| 日韩一区二区三区av| 亚洲丝袜精品丝袜在线| 国产一区二区福利视频| 欧美三级乱人伦电影| 国产精品午夜免费| 狠狠色丁香久久婷婷综|