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

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

?? os_cpu_c.c

?? 在keil大模式下編譯的ucos-2源碼
?? C
字號:
/*
/*******************************************************************************
                                      uS/OS-II v2.8
文 件 名  : os_cpu_c.c
作    者  : czn
版    本  : v1.0
********************************************************************************
*/
#define  OS_CPU_GLOBALS
#include "includes.h"

/*
*******************************************************************************
                                OSTaskStkInit()
功能描述: 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.
參    數: 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
                    a 'free' entry on the task stack.  If OS_STK_GROWTH is set to 1 then 
                    'ptos' will contain the HIGHEST valid address of the stack.  Similarly, if
                    OS_STK_GROWTH is set to 0, the 'ptos' will contains the LOWEST valid address
                    of the stack.
          opt       specifies options that can be used to alter the behavior of OSTaskStkInit().
                    (see uCOS_II.H for OS_TASK_OPT_???).
說    明: Interrupts are enabled when your task starts executing.
*******************************************************************************
*/
OS_STK *OSTaskStkInit(void (*task)(void *p_arg),void *p_arg, OS_STK *ptos, INT16U opt) reentrant
{
    OS_STK *stk;

    p_arg = p_arg;
    opt    = opt;
    stk    = (OS_STK *)ptos;
    *stk++ = 15;                                /*用戶堆棧長度              */
    *stk++ = (INT16U)task & 0xFF;               /*任務地址低8位             */
    *stk++ = (INT16U)task >> 8;                 /*任務地址高8位             */
    *stk++ = 0x00;                              /*PSW                       */
    *stk++ = 0x0A;                              /*ACC                       */
    *stk++ = 0x0B;                              /*B                         */
    *stk++ = 0x00;                              /*DPL                       */
    *stk++ = 0x00;                              /*DPH                       */
    *stk++ = 0x00;                              /*R0                        */
    
	/*R3、R2、R1用于傳遞任務參數ppdata,其中R3代表存儲器類型,R2為高字節偏移,R1為低字節位移。*/
	/*通過分析KEIL匯編,了解到任務的void *ppdata參數恰好是用R3、R2、R1傳遞,不是通過虛擬堆棧。*/
    *stk++ = (INT16U)p_arg & 0xFF;             /*R1                        */
    *stk++ = (INT16U)p_arg >> 8;               /*R2                        */
    *stk++ = 0x01;                              /*R3  XDATA,存儲器類型為1  */

    *stk++ = 0x04;                              /*R4                        */
    *stk++ = 0x05;                              /*R5                        */
    *stk++ = 0x06;                              /*R6                        */
    *stk++ = 0x07;                              /*R7                        */
                                                /*不用保存SP,任務切換時根據用戶堆棧長度計算得出。*/    
    *stk++ = (INT16U) (ptos+MaxStkSize) >> 8;   /*?C_XBP 仿真堆棧指針高8位  */
    *stk++ = (INT16U) (ptos+MaxStkSize) & 0xFF; /*?C_XBP 仿真堆棧指針低8位  */

    return ((void *)ptos);
}
/*
*******************************************************************************
                                OSTaskCreateHook()
功能描述: This function is called when a task is created.
參    數: ptcb   is a pointer to the task control block of the task being created.
說    明: 1) Interrupts are disabled during this call.
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 
void OSTaskCreateHook(OS_TCB *ptcb) reentrant
{
    ptcb = ptcb;                 /* Prevent compiler warning                 */
}
#endif
/*
*******************************************************************************
                                OSTaskDelHook()
功能描述: This function is called when a task is deleted.
參    數: ptcb   is a pointer to the task control block of the task being deleted.
說    明: 1) Interrupts are disabled during this call.
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 
void OSTaskDelHook(OS_TCB *ptcb) reentrant
{
    ptcb = ptcb;                 /* Prevent compiler warning                 */
}
#endif
/*
*******************************************************************************
                                OSTaskSwHook()
功能描述: This function is called when a task switch is performed.  This allows you to perform other
          operations during a context switch.
參    數: none
說    明: 1) Interrupts are disabled during this call.
          2) It is assumed that the global pointer 'OSTCBHighRdy' points to the TCB of the task that
             will be 'switched in' (i.e. the highest priority task) and, 'OSTCBCur' points to the 
             task being switched out (i.e. the preempted task).
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 
void OSTaskSwHook(void) reentrant
{
}
#endif
/*
*******************************************************************************
                                OSTaskIdleHook()
功能描述: This function is called by the idle task.  This hook has been added to allow you to do  
          such things as STOP the CPU to conserve power.
參    數: none
說    明: 1) Interrupts are enabled during this call.
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 && OS_VERSION >= 251
void  OSTaskIdleHook (void)reentrant
{
}
#endif
/*
*******************************************************************************
                                OSTaskStatHook()
功能描述: This function is called every second by uC/OS-II's statistics task.  This allows your 
          application to add functionality to the statistics task.
參    數: none
說    明:
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 
void OSTaskStatHook(void) reentrant
{
}
#endif
/*
*******************************************************************************
                                OSTimeTickHook()
功能描述: This function is called every tick.
參    數: none
說    明: 1) Interrupts may or may not be ENABLED during this call.
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0
void OSTimeTickHook (void) reentrant
{
}
#endif
/*
*******************************************************************************
                                OSInitHookBegin()
功能描述: This function is called by OSInit() at the beginning of OSInit().
參    數: none
說    明: 1) Interrupts should be disabled during this call.
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
void  OSInitHookBegin (void) reentrant
{
}
#endif
/*
*******************************************************************************
                                OSInitHookEnd()
功能描述: This function is called by OSInit() at the beginning of OSInit().
參    數: none
說    明: 1) Interrupts should be disabled during this call.
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
void  OSInitHookEnd (void) reentrant
{
}
#endif
/*
*******************************************************************************
                                OSTCBInitHook()
功能描述: This function is called by OS_TCBInit() after setting up most of the TCB.
參    數: ptcb    is a pointer to the TCB of the task being created.
說    明: 1) Interrupts may or may not be ENABLED during this call.
*******************************************************************************
*/
#if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
void  OSTCBInitHook (OS_TCB *ptcb) reentrant
{
    ptcb = ptcb;                 /* Prevent Compiler warning                 */
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区在线播放视频| 日韩精品综合一本久道在线视频| 青青草97国产精品免费观看无弹窗版| 亚洲天堂av一区| 亚洲日本免费电影| 亚洲色图在线看| 亚洲免费观看高清完整版在线观看熊 | 亚洲图片自拍偷拍| 亚洲欧美激情在线| 亚洲夂夂婷婷色拍ww47| 亚洲成人av一区| 亚洲国产一区二区在线播放| 视频一区二区三区在线| 日韩和欧美的一区| 狠狠色综合色综合网络| 国产成人夜色高潮福利影视| www.久久久久久久久| 日本大香伊一区二区三区| 欧美午夜宅男影院| 日韩精品影音先锋| 中文字幕亚洲视频| 亚洲图片自拍偷拍| 国产在线看一区| 91丝袜美腿高跟国产极品老师 | 亚洲综合激情另类小说区| 同产精品九九九| 国产一区二区按摩在线观看| 成人理论电影网| 欧美丰满一区二区免费视频| 久久久精品2019中文字幕之3| 亚洲日本青草视频在线怡红院| 五月综合激情婷婷六月色窝| 国产精品99久久久久久久女警| 一本到不卡免费一区二区| 日韩欧美中文一区| 亚洲另类春色国产| 国内久久婷婷综合| 欧美日韩一卡二卡| 亚洲国产精品av| 日韩福利电影在线| 91小视频在线观看| 久久综合色之久久综合| 夜色激情一区二区| 国产精品影视在线| 欧美精品久久99| 亚洲精品成a人| 成人黄色免费短视频| 日韩欧美国产高清| 亚洲丰满少妇videoshd| 91在线一区二区| 国产视频不卡一区| 偷拍亚洲欧洲综合| 91国偷自产一区二区三区观看 | 欧美成人一区二区| 亚洲 欧美综合在线网络| 99久久精品国产麻豆演员表| 国产亚洲综合在线| 久久精品久久综合| 欧美精品在欧美一区二区少妇| 亚洲乱码国产乱码精品精可以看| 国产高清久久久久| 精品99一区二区| 日本在线不卡视频| 欧美日韩国产色站一区二区三区| 亚洲视频图片小说| youjizz久久| 中文字幕精品在线不卡| 精品一区二区三区在线播放视频| 欧美日韩精品欧美日韩精品| 亚洲精品综合在线| 色综合久久99| 亚洲激情五月婷婷| 一本色道**综合亚洲精品蜜桃冫| 中文字幕中文字幕在线一区 | 亚洲超碰97人人做人人爱| 日本久久一区二区| 亚洲图片欧美视频| 欧美精品日韩精品| 久久精品国产一区二区| 2021中文字幕一区亚洲| 国产高清不卡二三区| 国产亚洲精久久久久久| 成人性生交大片免费看在线播放| 国产拍揄自揄精品视频麻豆| 成人性视频网站| 一区二区日韩电影| 在线不卡的av| 国产一区欧美日韩| 国产精品传媒入口麻豆| 日本韩国欧美一区| 午夜a成v人精品| 久久久精品综合| 99热这里都是精品| 亚洲第一主播视频| 日韩精品一区二区三区中文精品| 国产精品一二三在| 亚洲免费伊人电影| 日韩一二三区视频| 国产福利一区二区| 亚洲最新视频在线播放| 51精品国自产在线| 丁香啪啪综合成人亚洲小说 | 99久久精品国产导航| 亚洲成人一区二区在线观看| 日韩欧美成人激情| 91原创在线视频| 另类小说视频一区二区| 1区2区3区精品视频| 欧美理论在线播放| 成人黄色片在线观看| 午夜在线电影亚洲一区| 久久精品这里都是精品| 欧美午夜不卡视频| 成人自拍视频在线| 日韩高清不卡一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲福利电影网| 欧美—级在线免费片| 在线成人免费视频| 91免费视频大全| 国产成人综合视频| 丝袜亚洲另类丝袜在线| 国产精品理论在线观看| 精品成人私密视频| 91精品国产综合久久久蜜臀图片| 97久久人人超碰| 国产精品 欧美精品| 青青国产91久久久久久| 亚洲在线视频免费观看| 国产欧美日韩精品在线| 欧美大片在线观看一区二区| 欧美在线观看禁18| 色综合久久久久综合体| 高清国产午夜精品久久久久久| 不卡高清视频专区| 美女网站在线免费欧美精品| 亚洲最新视频在线观看| 亚洲视频在线一区观看| 国产精品美女久久久久高潮| 精品国产百合女同互慰| 精品欧美乱码久久久久久1区2区| 欧美日韩不卡在线| 欧美三级日本三级少妇99| 色综合天天天天做夜夜夜夜做| 国产精品一区二区在线观看网站| 欧美96一区二区免费视频| 天天影视网天天综合色在线播放 | 天堂成人免费av电影一区| 亚洲高清在线精品| 天天亚洲美女在线视频| 午夜久久久久久久久久一区二区| 亚洲婷婷综合久久一本伊一区| 国产欧美日韩中文久久| 国产精品美女www爽爽爽| 中文字幕一区二区三区在线播放| 国产精品久久久爽爽爽麻豆色哟哟| 国产欧美日韩久久| 中文字幕亚洲一区二区av在线 | 丝袜美腿亚洲色图| 日韩精品成人一区二区在线| 视频一区二区三区入口| 奇米综合一区二区三区精品视频| 免费成人美女在线观看.| 久久69国产一区二区蜜臀| 国产精品一区免费在线观看| 国产精品1024久久| 一本一本久久a久久精品综合麻豆| 色婷婷久久久亚洲一区二区三区 | 午夜精品久久一牛影视| 午夜精品一区二区三区电影天堂 | 成人综合婷婷国产精品久久蜜臀| 成人综合婷婷国产精品久久| 色综合久久66| 欧美一区二区三区啪啪| 精品处破学生在线二十三| 国产精品伦理一区二区| 亚洲在线视频网站| 狠狠色2019综合网| 成人动漫精品一区二区| 欧美视频日韩视频在线观看| 91精品一区二区三区久久久久久| 久久男人中文字幕资源站| 国产精品天天看| 婷婷开心激情综合| 成人午夜视频福利| 欧美日韩国产中文| 日本一区二区视频在线| 亚洲va欧美va人人爽| 国产自产v一区二区三区c| 99精品黄色片免费大全| 欧美成人猛片aaaaaaa| 最新不卡av在线| 日韩在线a电影| 国模无码大尺度一区二区三区| 色综合激情五月| 久久精品男人的天堂| 亚洲福利一区二区| 97精品国产97久久久久久久久久久久| 欧美肥妇毛茸茸| 亚洲综合色区另类av|