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

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

?? ucos_ii.h

?? 一個boot采集的測試程序!僅供ARM學習者參考。
?? H
?? 第 1 頁 / 共 4 頁
字號:
#endif

/*
*********************************************************************************************************
*                                MUTUAL EXCLUSION SEMAPHORE MANAGEMENT
*********************************************************************************************************
*/

#if OS_MUTEX_EN > 0

#if OS_MUTEX_ACCEPT_EN > 0
INT8U         OSMutexAccept(OS_EVENT *pevent, INT8U *err);
#endif

OS_EVENT     *OSMutexCreate(INT8U prio, INT8U *err);

#if OS_MUTEX_DEL_EN > 0
OS_EVENT     *OSMutexDel(OS_EVENT *pevent, INT8U opt, INT8U *err);
#endif

void          OSMutexPend(OS_EVENT *pevent, INT16U timeout, INT8U *err);
INT8U         OSMutexPost(OS_EVENT *pevent);

#if OS_MUTEX_QUERY_EN > 0
INT8U         OSMutexQuery(OS_EVENT *pevent, OS_MUTEX_DATA *p_mutex_data);
#endif

#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                         MESSAGE QUEUE MANAGEMENT
*********************************************************************************************************
*/

#if (OS_Q_EN > 0) && (OS_MAX_QS > 0)

#if OS_Q_ACCEPT_EN > 0
void         *OSQAccept(OS_EVENT *pevent, INT8U *err);
#endif

OS_EVENT     *OSQCreate(void **start, INT16U size);

#if OS_Q_DEL_EN > 0
OS_EVENT     *OSQDel(OS_EVENT *pevent, INT8U opt, INT8U *err);
#endif

#if OS_Q_FLUSH_EN > 0
INT8U         OSQFlush(OS_EVENT *pevent);
#endif

void         *OSQPend(OS_EVENT *pevent, INT16U timeout, INT8U *err);

#if OS_Q_POST_EN > 0
INT8U         OSQPost(OS_EVENT *pevent, void *msg);
#endif

#if OS_Q_POST_FRONT_EN > 0
INT8U         OSQPostFront(OS_EVENT *pevent, void *msg);
#endif

#if OS_Q_POST_OPT_EN > 0
INT8U         OSQPostOpt(OS_EVENT *pevent, void *msg, INT8U opt);
#endif

#if OS_Q_QUERY_EN > 0
INT8U         OSQQuery(OS_EVENT *pevent, OS_Q_DATA *p_q_data);
#endif

#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                          SEMAPHORE MANAGEMENT
*********************************************************************************************************
*/
#if OS_SEM_EN > 0

#if OS_SEM_ACCEPT_EN > 0
INT16U        OSSemAccept(OS_EVENT *pevent);
#endif

OS_EVENT     *OSSemCreate(INT16U cnt);

#if OS_SEM_DEL_EN > 0
OS_EVENT     *OSSemDel(OS_EVENT *pevent, INT8U opt, INT8U *err);
#endif

void          OSSemPend(OS_EVENT *pevent, INT16U timeout, INT8U *err);
INT8U         OSSemPost(OS_EVENT *pevent);

#if OS_SEM_QUERY_EN > 0
INT8U         OSSemQuery(OS_EVENT *pevent, OS_SEM_DATA *p_sem_data);
#endif

#if OS_SEM_SET_EN > 0
void          OSSemSet(OS_EVENT *pevent, INT16U cnt, INT8U *err);
#endif

#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                            TASK MANAGEMENT
*********************************************************************************************************
*/
#if OS_TASK_CHANGE_PRIO_EN > 0
INT8U         OSTaskChangePrio(INT8U oldprio, INT8U newprio);
#endif

#if OS_TASK_CREATE_EN > 0
INT8U         OSTaskCreate(void (*task)(void *pd), void *p_arg, OS_STK *ptos, INT8U prio);
#endif

#if OS_TASK_CREATE_EXT_EN > 0
INT8U         OSTaskCreateExt(void  (*task)(void *pd),
                              void   *p_arg,
                              OS_STK *ptos,
                              INT8U   prio,
                              INT16U  id,
                              OS_STK *pbos,
                              INT32U  stk_size,
                              void   *pext,
                              INT16U  opt);
#endif

#if OS_TASK_DEL_EN > 0
INT8U         OSTaskDel(INT8U prio);
INT8U         OSTaskDelReq(INT8U prio);
#endif

#if OS_TASK_NAME_SIZE > 1
INT8U         OSTaskNameGet(INT8U prio, char *pname, INT8U *err);
void          OSTaskNameSet(INT8U prio, char *pname, INT8U *err);
#endif

#if OS_TASK_SUSPEND_EN > 0
INT8U         OSTaskResume(INT8U prio);
INT8U         OSTaskSuspend(INT8U prio);
#endif

#if OS_TASK_CREATE_EXT_EN > 0
INT8U         OSTaskStkChk(INT8U prio, OS_STK_DATA *p_stk_data);
#endif

#if OS_TASK_QUERY_EN > 0
INT8U         OSTaskQuery(INT8U prio, OS_TCB *p_task_data);
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                            TIME MANAGEMENT
*********************************************************************************************************
*/

void          OSTimeDly(INT16U ticks);

#if OS_TIME_DLY_HMSM_EN > 0
INT8U         OSTimeDlyHMSM(INT8U hours, INT8U minutes, INT8U seconds, INT16U milli);
#endif

#if OS_TIME_DLY_RESUME_EN > 0
INT8U         OSTimeDlyResume(INT8U prio);
#endif

#if OS_TIME_GET_SET_EN > 0
INT32U        OSTimeGet(void);
void          OSTimeSet(INT32U ticks);
#endif

void          OSTimeTick(void);

/*
*********************************************************************************************************
*                                             MISCELLANEOUS
*********************************************************************************************************
*/

void          OSInit(void);

void          OSIntEnter(void);
void          OSIntExit(void);

#if OS_SCHED_LOCK_EN > 0
void          OSSchedLock(void);
void          OSSchedUnlock(void);
#endif

void          OSStart(void);

void          OSStatInit(void);

INT16U        OSVersion(void);

/*$PAGE*/
/*
*********************************************************************************************************
*                                      INTERNAL FUNCTION PROTOTYPES
*                            (Your application MUST NOT call these functions)
*********************************************************************************************************
*/

#if OS_TASK_DEL_EN > 0
void          OS_Dummy(void);
#endif

#if OS_EVENT_EN
INT8U         OS_EventTaskRdy(OS_EVENT *pevent, void *msg, INT8U msk);
void          OS_EventTaskWait(OS_EVENT *pevent);
void          OS_EventTO(OS_EVENT *pevent);
void          OS_EventWaitListInit(OS_EVENT *pevent);
#endif

#if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
void          OS_FlagInit(void);
void          OS_FlagUnlink(OS_FLAG_NODE *pnode);
#endif

void          OS_MemClr(INT8U *pdest, INT16U size);
void          OS_MemCopy(INT8U *pdest, INT8U *psrc, INT16U size);

#if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
void          OS_MemInit(void);
#endif

#if OS_Q_EN > 0
void          OS_QInit(void);
#endif

void          OS_Sched(void);

#if (OS_EVENT_NAME_SIZE > 1) || (OS_FLAG_NAME_SIZE > 1) || (OS_MEM_NAME_SIZE > 1) || (OS_TASK_NAME_SIZE > 1)
INT8U         OS_StrCopy(char *pdest, char *psrc);
INT8U         OS_StrLen(char *psrc);
#endif

void          OS_TaskIdle(void *p_arg);

#if OS_TASK_STAT_EN > 0
void          OS_TaskStat(void *p_arg);
#endif

#if OS_TASK_CREATE_EXT_EN > 0
void          OS_TaskStkClr(OS_STK *pbos, INT32U size, INT16U opt);
#endif

#if (OS_TASK_STAT_STK_CHK_EN > 0) && (OS_TASK_CREATE_EXT_EN > 0)
void          OS_TaskStatStkChk(void);
#endif

INT8U         OS_TCBInit(INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT32U stk_size, void *pext, INT16U opt);

/*$PAGE*/
/*
*********************************************************************************************************
*                                          FUNCTION PROTOTYPES
*                                      (Target Specific Functions)
*********************************************************************************************************
*/

#if OS_VERSION >= 270 && OS_DEBUG_EN > 0
void          OSDebugInit(void);
#endif

#if OS_VERSION >= 204
void          OSInitHookBegin(void);
void          OSInitHookEnd(void);
#endif

void          OSIntCtxSw(void);

void          OSStartHighRdy(void);

void          OSTaskCreateHook(OS_TCB *ptcb);
void          OSTaskDelHook(OS_TCB *ptcb);

#if OS_VERSION >= 251
void          OSTaskIdleHook(void);
#endif

void          OSTaskStatHook(void);
OS_STK       *OSTaskStkInit(void (*task)(void *pd), void *p_arg, OS_STK *ptos, INT16U opt);

#if OS_TASK_SW_HOOK_EN > 0
void          OSTaskSwHook(void);
#endif

#if OS_VERSION >= 204
void          OSTCBInitHook(OS_TCB *ptcb);
#endif

#if OS_TIME_TICK_HOOK_EN > 0
void          OSTimeTickHook(void);
#endif

/*
*********************************************************************************************************
*                                          FUNCTION PROTOTYPES
*                                  (Compiler Specific ISR prototypes)
*********************************************************************************************************
*/

#ifndef OS_ISR_PROTO_EXT
void          OSCtxSw(void);
void          OSTickISR(void);
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                   LOOK FOR MISSING #define CONSTANTS
*
* This section is used to generate ERROR messages at compile time if certain #define constants are 
* MISSING in OS_CFG.H.  This allows you to quickly determine the source of the error.
*
* You SHOULD NOT change this section UNLESS you would like to add more comments as to the source of the
* compile time error.
*********************************************************************************************************
*/

/*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久人澡人人添人人爽欧美| 91精品婷婷国产综合久久性色| 欧美专区亚洲专区| 欧美va亚洲va| 亚洲午夜久久久| 成人高清av在线| 日韩一级片网址| 亚洲一区二区精品3399| 久久99久久99| 欧美精品18+| 亚洲欧美色综合| 国产成人自拍网| 日韩一级黄色片| 亚洲成人手机在线| 色噜噜狠狠色综合中国| 国产蜜臀av在线一区二区三区| 美女看a上一区| 欧美唯美清纯偷拍| 亚洲综合一区二区精品导航| 成人高清在线视频| 国产精品美女www爽爽爽| 日韩**一区毛片| 欧美视频日韩视频| 亚洲一区av在线| 一本一道久久a久久精品综合蜜臀| 国产色一区二区| 国产美女精品一区二区三区| 日韩欧美国产精品| 麻豆国产精品一区二区三区 | 亚洲va欧美va人人爽| 91香蕉视频mp4| 国产精品久久久久久久久免费相片| 国内精品国产成人| 久久久www免费人成精品| 精品亚洲成a人| 久久久久久久av麻豆果冻| 久久国产夜色精品鲁鲁99| 欧美第一区第二区| 国产乱人伦偷精品视频免下载| 精品久久五月天| 国产丶欧美丶日本不卡视频| 久久精品一区二区| 99久久综合国产精品| 国产精品卡一卡二| 欧美综合一区二区| 午夜电影一区二区| 日韩精品一区二区三区四区 | 亚洲一区在线视频| 欧美日韩国产在线播放网站| av在线播放不卡| 亚洲视频电影在线| 欧美视频三区在线播放| 蜜臀av性久久久久蜜臀av麻豆| 日韩精品一区二| 成人网在线免费视频| 亚洲乱码国产乱码精品精98午夜| 欧美三级视频在线播放| 日韩电影在线看| 久久精品亚洲精品国产欧美 | 国产精品久久久久aaaa樱花| 一本到不卡精品视频在线观看| 亚洲电影视频在线| 2020国产精品自拍| 色久优优欧美色久优优| 欧美aⅴ一区二区三区视频| 久久九九久久九九| 欧洲视频一区二区| 久久99精品国产麻豆婷婷洗澡| 国产日韩精品一区二区三区| 一本久久a久久免费精品不卡| 青青青爽久久午夜综合久久午夜 | 日韩欧美一区二区不卡| 国产成人在线网站| 亚洲国产综合人成综合网站| 日韩女优av电影| 日本韩国欧美三级| 老司机精品视频导航| √…a在线天堂一区| 日韩视频中午一区| 在线亚洲人成电影网站色www| 久久疯狂做爰流白浆xx| 亚洲激情综合网| 国产人妖乱国产精品人妖| 欧美在线一区二区| 99久久er热在这里只有精品15| 日本伊人精品一区二区三区观看方式 | 亚洲福利一二三区| 欧美极品另类videosde| 欧美一二三区在线| 欧美日韩一区二区欧美激情| 国产成人免费在线观看不卡| 午夜久久久影院| 亚洲欧美日韩在线不卡| 欧美精品一区二区高清在线观看| 在线观看三级视频欧美| 国产成人aaaa| 精品制服美女久久| 日本亚洲天堂网| 五月天网站亚洲| 一区二区三区四区亚洲| 国产精品色婷婷久久58| 久久综合久久综合亚洲| 欧美大肚乱孕交hd孕妇| 欧美日韩一级二级三级| 91成人在线精品| 一本大道久久a久久综合 | 美女脱光内衣内裤视频久久网站| 一区二区三区毛片| 一区二区三区精品| 亚洲欧洲日韩一区二区三区| 国产欧美精品国产国产专区| 日韩欧美国产午夜精品| 日韩一区和二区| 欧美成va人片在线观看| 欧美一区二区三区喷汁尤物| 国产精品欧美极品| 久久亚洲精品国产精品紫薇| 欧美电影免费观看高清完整版在| 欧美大片在线观看一区二区| 日韩一区二区在线观看视频播放| 日韩视频中午一区| 2023国产精华国产精品| 国产三级久久久| 综合久久久久综合| 夜夜嗨av一区二区三区中文字幕| 一区二区三区波多野结衣在线观看| 一级精品视频在线观看宜春院 | 久久精品欧美一区二区三区麻豆| 日韩三级伦理片妻子的秘密按摩| 精品久久人人做人人爱| 久久久久久久久久久久电影| 欧美国产欧美亚州国产日韩mv天天看完整 | 3d成人动漫网站| 26uuu欧美| 国产精品美女视频| 亚洲综合一区二区精品导航| 天堂va蜜桃一区二区三区漫画版| 男人的天堂久久精品| 久久国产成人午夜av影院| 国产aⅴ综合色| 欧洲国内综合视频| 日韩欧美高清一区| 国产精品毛片高清在线完整版| 亚洲人亚洲人成电影网站色| 亚洲观看高清完整版在线观看 | 亚洲一区二区三区不卡国产欧美| 日韩中文字幕区一区有砖一区| 国内不卡的二区三区中文字幕| 精品第一国产综合精品aⅴ| 久久久激情视频| 一区二区三区日韩精品视频| 日本欧美在线看| av中文字幕不卡| 91精品国产综合久久久久久久久久| 久久色在线观看| 亚洲韩国一区二区三区| 国产一区久久久| 日本乱人伦一区| 久久精品无码一区二区三区| 亚洲免费av网站| 国产一区啦啦啦在线观看| 色婷婷av一区二区三区软件| 欧美videofree性高清杂交| 亚洲欧美日韩国产综合在线| 久久精品免费看| 欧美最新大片在线看| 国产亚洲欧美色| 日韩国产欧美三级| 99视频精品在线| 久久日韩精品一区二区五区| 亚洲成人精品在线观看| 99久久国产综合色|国产精品| 日韩欧美你懂的| 亚洲图片一区二区| www..com久久爱| 久久精品一区四区| 麻豆一区二区99久久久久| 91麻豆高清视频| 国产精品家庭影院| 国产一区二区0| 精品欧美黑人一区二区三区| 亚洲国产精品久久人人爱| 99视频超级精品| 亚洲国产精品精华液2区45| 久久国产成人午夜av影院| 91精品免费观看| 亚洲成人黄色影院| 欧美日韩在线播放| 亚洲综合精品自拍| 色伊人久久综合中文字幕| 中文字幕高清不卡| 国产a久久麻豆| 中文字幕 久热精品 视频在线| 国产老妇另类xxxxx| 日韩精品在线看片z| 免费成人小视频| 日韩精品中文字幕一区二区三区| www.久久久久久久久| 国产精品电影一区二区三区| 成人av综合在线|