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

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

?? os_cpu_c.c

?? Small RTOS 移植到AVR下用IAR編譯的
?? C
字號(hào):
/*
*********************************************************************************************************
*                                              uC/OS-II
*                                        The Real-Time Kernel
*
*                                       ATmega128 Specific code
*
* File     : OS_CPU_C.C
* By       : Jean J. Labrosse
*********************************************************************************************************
*/

#define  IN_OS_CPU_C
#include "includes.h"


/*
**********************************************************************************************************
*                                       INITIALIZE A TASK'S STACK
*
* Description: This function is called by either OSTaskCreate() or OSTaskCreateExt() to initialize the
*              stack frame of the task being created. This function is highly processor specific.
*
* Arguments  : task          is a pointer to the task code
*
*              p_arg         is a pointer to a user supplied data area that will be passed to the task
*                            when the task first executes.
*
*              ptos          is a pointer to the top of stack. It is assumed that 'ptos' points to the
*                            highest valid address on the stack.
*
*              opt           specifies options that can be used to alter the behavior of OSTaskStkInit().
*                            (see uCOS_II.H for OS_TASK_OPT_???).
*
* Returns    : Always returns the location of the new top-of-stack' once the processor registers have
*              been placed on the stack in the proper order.
*
* Note(s)    : Interrupts are enabled when your task starts executing. You can change this by setting the
*              SREG to 0x00 instead. In this case, interrupts would be disabled upon task startup. The
*              application code would be responsible for enabling interrupts at the beginning of the task
*              code. You will need to modify OSTaskIdle() and OSTaskStat() so that they enable interrupts.
*              Failure to do this will make your system crash!
*
*              The AVR return stack is placed OS_TASK_STK_SIZE_HARD bytes before the bottom of the task's
*              stack.
**********************************************************************************************************
*/

OS_STK  *OSTaskStkInit (void (*task)(void *pd), void *p_arg, OS_STK *ptos, uint16 opt)
{
    uint8  *psoft_stk;
    uint8  *phard_stk;                      /* Temp. variable used for setting up AVR hardware stack    */
    uint16  tmp;


    (void)opt;                              /* 'opt' is not used, prevent warning                       */
    psoft_stk     = (uint8 *)ptos;
    phard_stk     = (uint8 *)ptos
                  - OSTaskStkSize           /* Task stack size                                          */
                  + OSTaskStkSizeHard;      /* AVR return stack ("hardware stack")                      */
    tmp           = (uint16)task;
                                            /* Put task start address on top of "hardware stack"        */
    *phard_stk--  = (uint8)(tmp & 0xFF);    /* Save PC return address                                   */
    tmp         >>= 8;
    *phard_stk--  = (uint8)(tmp & 0xFF);

    *psoft_stk--  = (uint8)0x00;            /* R0    = 0x00                                             */
    *psoft_stk--  = (uint8)0x01;            /* R1    = 0x01                                             */
    *psoft_stk--  = (uint8)0x02;            /* R2    = 0x02                                             */
    *psoft_stk--  = (uint8)0x03;            /* R3    = 0x03                                             */
    *psoft_stk--  = (uint8)0x04;            /* R4    = 0x04                                             */
    *psoft_stk--  = (uint8)0x05;            /* R5    = 0x05                                             */
    *psoft_stk--  = (uint8)0x06;            /* R6    = 0x06                                             */
    *psoft_stk--  = (uint8)0x07;            /* R7    = 0x07                                             */
    tmp           = (uint16)p_arg;
    *psoft_stk--  = (uint8)tmp;             /* 'p_arg' passed in R17:R16                                */
    *psoft_stk--  = (uint8)(tmp >> 8);
    *psoft_stk--  = (uint8)0x18;            /* R18   = 0x18                                             */
    *psoft_stk--  = (uint8)0x19;            /* R19   = 0x19                                             */
    *psoft_stk--  = (uint8)0x20;            /* R20   = 0x20                                             */
    *psoft_stk--  = (uint8)0x21;            /* R21   = 0x21                                             */
    *psoft_stk--  = (uint8)0x22;            /* R22   = 0x22                                             */
    *psoft_stk--  = (uint8)0x23;            /* R23   = 0x23                                             */
    *psoft_stk--  = (uint8)0x24;            /* R24   = 0x24                                             */
    *psoft_stk--  = (uint8)0x25;            /* R25   = 0x25                                             */
    *psoft_stk--  = (uint8)0x26;            /* R26   = 0x26                                             */
    *psoft_stk--  = (uint8)0x27;            /* R27   = 0x27                                             */
                                            /* R28     R29:R28 is the software stack which gets ...     */
                                            /* R29             ... in the TCB.                          */
    *psoft_stk--  = (uint8)0x30;            /* R30   = 0x30                                             */
    *psoft_stk--  = (uint8)0x31;            /* R31   = 0x31                                             */
    *psoft_stk--  = (uint8)0xAA;            /* RAMPZ = 0xAA                                             */
    *psoft_stk--  = (uint8)0x80;            /* SREG  = Interrupts enabled                               */
    tmp           = (uint16)phard_stk;
    *psoft_stk--  = (uint8)(tmp >> 8);      /* SPH                                                      */
    *psoft_stk    = (uint8)(tmp & 0xFF);    /* SPL                                                      */
    return ((OS_STK *)psoft_stk);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲自拍偷拍| 亚洲愉拍自拍另类高清精品| 国产日韩欧美在线一区| 国产精品久久久久久久久免费桃花 | 91小视频免费看| 欧美丝袜丝交足nylons图片| 日韩一二三四区| 国产精品区一区二区三区 | 欧美日本在线观看| 精品福利一二区| 亚洲欧美综合色| 免费日韩伦理电影| a美女胸又www黄视频久久| 欧美日韩国产综合久久| 久久午夜羞羞影院免费观看| 亚洲区小说区图片区qvod| 日韩av电影免费观看高清完整版| 国产麻豆精品在线| 欧美视频在线播放| 中文字幕国产一区| 日韩高清在线一区| 99精品视频一区二区三区| 91精品国产综合久久蜜臀| 中文字幕一区二区三区在线不卡| 欧美成人一区二区三区片免费| 欧美无人高清视频在线观看| 精品国产亚洲一区二区三区在线观看| 国产精品久久午夜| 麻豆精品久久久| 色婷婷综合久久久| 欧美精品一区二区久久久| 亚洲最大色网站| 国产精品99久| 日韩一区二区在线观看视频播放| 国产精品动漫网站| 久久成人久久爱| 在线精品视频免费观看| 国产精品麻豆视频| 久草精品在线观看| 欧美日韩精品欧美日韩精品一综合| 国产欧美综合在线观看第十页| 水蜜桃久久夜色精品一区的特点 | 久久精品免视看| 日韩国产欧美在线观看| 91免费看`日韩一区二区| 26uuu精品一区二区三区四区在线| 亚洲综合999| 99久久精品免费| 久久青草欧美一区二区三区| 日本视频一区二区| 欧美三片在线视频观看| 中文字幕在线不卡| 懂色一区二区三区免费观看 | 国产99久久久精品| 日韩免费看的电影| 日本不卡1234视频| 欧美日韩一本到| 亚洲一区二区三区在线| 91片黄在线观看| 日韩一区欧美一区| 成人免费看片app下载| 日本一区二区三区在线观看| 精品亚洲国产成人av制服丝袜| 欧美乱妇15p| 亚洲va天堂va国产va久| 91成人在线精品| 亚洲欧美精品午睡沙发| 不卡av在线网| 国产精品久久久久国产精品日日| 国产一区二区三区久久悠悠色av| 日韩精品在线看片z| 免费久久精品视频| 精品精品欲导航| 精品一区二区在线看| 日韩欧美一级二级三级| 麻豆国产欧美日韩综合精品二区| 欧美精品在线视频| 日韩精品亚洲一区| 欧美变态tickling挠脚心| 蜜桃视频第一区免费观看| 日韩精品一区二区三区视频在线观看 | 粉嫩av亚洲一区二区图片| 国产日韩欧美不卡| av一二三不卡影片| 亚洲美女区一区| 欧美中文字幕一区| 日日骚欧美日韩| 欧美tickling挠脚心丨vk| 久草在线在线精品观看| 欧美国产禁国产网站cc| 9色porny自拍视频一区二区| 亚洲色图在线看| 欧美日韩在线三级| 美美哒免费高清在线观看视频一区二区| 日韩一级高清毛片| 国产一区二区三区不卡在线观看 | 成人18视频日本| 亚洲男人天堂av| 51久久夜色精品国产麻豆| 九色综合国产一区二区三区| 国产精品久久影院| 欧美丝袜第三区| 久久99久久99| 国产精品女主播在线观看| 91福利视频在线| 毛片一区二区三区| 国产欧美日本一区视频| 在线中文字幕不卡| 麻豆成人av在线| 国产精品麻豆久久久| 欧美日韩一级二级三级| 国产九九视频一区二区三区| 亚洲品质自拍视频网站| 日韩亚洲欧美成人一区| 粉嫩一区二区三区性色av| 一区二区三区四区在线播放| 欧美电视剧免费观看| aaa欧美日韩| 久久超碰97中文字幕| 国产精品久久国产精麻豆99网站| 欧洲av在线精品| 国产精品主播直播| 一区二区久久久久| 亚洲精品一区在线观看| 色久综合一二码| 国产一区二区成人久久免费影院 | 欧美日韩日日骚| 国产精品1区二区.| 午夜精品视频一区| 中文在线资源观看网站视频免费不卡| 欧美日韩在线电影| 成人精品免费看| 免费高清视频精品| 亚洲人吸女人奶水| 久久久久久久久99精品| 欧美日韩成人综合天天影院| 成人黄页在线观看| 久久精品国产网站| 亚洲午夜久久久久久久久电影院| 久久久一区二区三区捆绑**| 欧美福利视频导航| 91日韩一区二区三区| 国产高清在线精品| 青青青伊人色综合久久| 亚洲卡通动漫在线| 国产欧美精品一区二区色综合| 欧美一区二区在线播放| 色婷婷综合久久久久中文| 成人综合婷婷国产精品久久蜜臀 | 久久久99精品久久| 91麻豆精品91久久久久久清纯| av在线不卡电影| 国产激情视频一区二区三区欧美 | 久久久亚洲精品一区二区三区| 欧美中文字幕不卡| 91一区一区三区| 国产·精品毛片| 激情另类小说区图片区视频区| 亚洲国产cao| 一区二区三区在线视频播放 | 在线观看视频一区二区| jizzjizzjizz欧美| 国产99一区视频免费| 国产一区二区三区观看| 麻豆国产精品官网| 日韩电影免费在线观看网站| 亚洲一区二区三区四区五区黄| 亚洲四区在线观看| 国产精品久久久久久久久快鸭 | 91免费看片在线观看| 成人av网站免费| 成人午夜电影小说| 国产福利一区在线| 国产精品亚洲专一区二区三区 | 国产欧美综合在线观看第十页| 欧美成人激情免费网| 精品日产卡一卡二卡麻豆| 日韩一区二区三区精品视频| 欧美一区二区三区免费在线看| 欧美欧美午夜aⅴ在线观看| 欧美三级中文字幕在线观看| 欧美伊人久久大香线蕉综合69| 色噜噜狠狠成人中文综合| 在线观看免费成人| 欧洲精品在线观看| 欧美剧情片在线观看| 91精品综合久久久久久| 日韩一区国产二区欧美三区| 在线电影国产精品| 91麻豆精品国产无毒不卡在线观看| 51精品视频一区二区三区| 欧美一级理论片| 欧美不卡在线视频| 久久精品亚洲乱码伦伦中文| 国产女人18水真多18精品一级做| 国产亚洲人成网站| 亚洲欧洲一区二区三区| 亚洲综合偷拍欧美一区色| 午夜精品久久久久久久| 日本欧美在线观看|