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

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

?? fs_x_ucos_ii.c

?? at91rm9200硬盤的接口代碼
?? C
字號(hào):
/*
*********************************************************************************************************
*                                             Micrium, Inc.
*                                         949 Crestview Circle
*                                        Weston,  FL 33327-1848
*
*                                         OS Layer for uC/FS
*
*                                   (c) Copyright 2002, Micrium, Inc.
*                                          All rights reserved.
*
* Filename    : fs_x_ucos_ii.C
* Programmers : Jean J. Labrosse
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                            INCLUDE FILES
*********************************************************************************************************
*/

#include  "fs_port.h"
#include  "fs_dev.h"
#include  "fs_api.h"
#include  "fs_os.h"
#include  "fs_conf.h"

#if FS_OS_TIME_SUPPORT == 1
#include  <time.h>
#endif

#include  "includes.h"

/*
*********************************************************************************************************
*                                         LOCAL GLOBAL VARIABLES
*********************************************************************************************************
*/

static  OS_EVENT  *FS_SemFileHandle;
static  OS_EVENT  *FS_SemFileOps;
static  OS_EVENT  *FS_SemMemManager;
static  OS_EVENT  *FS_SemDeviceOps;

#if FS_POSIX_DIR_SUPPORT
static OS_EVENT   *FS_SemDirHandle;
static OS_EVENT   *FS_SemDirOps;
#endif  /* FS_POSIX_DIR_SUPPORT */

/*$PAGE*/
/*
*********************************************************************************************************
*                              Lock global table _FS_filehandle (fs_info.c)
*********************************************************************************************************
*/

void  FS_X_OS_LockFileHandle (void) 
{
    INT8U  err;


    OSSemPend(FS_SemFileHandle, 0, &err);
}


/*
*********************************************************************************************************
*                              Unlock global table _FS_filehandle (fs_info.c)
*********************************************************************************************************
*/

void  FS_X_OS_UnlockFileHandle (void) 
{
    OSSemPost(FS_SemFileHandle);
}

/*
*********************************************************************************************************
*                                          Lock File Operations
*********************************************************************************************************
*/

void  FS_X_OS_LockFileOp (FS_FILE *fp) 
{
    INT8U  err;


    OSSemPend(FS_SemFileOps, 0, &err);
}

/*
*********************************************************************************************************
*                                         Unlock File Operations
*********************************************************************************************************
*/

void  FS_X_OS_UnlockFileOp (FS_FILE *fp) 
{
    OSSemPost(FS_SemFileOps);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                        Lock the Memory Manager
*********************************************************************************************************
*/

void  FS_X_OS_LockMem (void)
{
    INT8U  err;


    OSSemPend(FS_SemMemManager, 0, &err);
}

/*
*********************************************************************************************************
*                                       Unlock the Memory Manager
*********************************************************************************************************
*/

void  FS_X_OS_UnlockMem (void) 
{
    OSSemPost(FS_SemMemManager);
}

/*
*********************************************************************************************************
*                                        Lock Device Operations
*********************************************************************************************************
*/

void  FS_X_OS_LockDeviceOp (const FS__device_type *driver, FS_u32 id) 
{
    INT8U  err;


    OSSemPend(FS_SemDeviceOps, 0, &err);
}

/*
*********************************************************************************************************
*                                       Unlock Device Operations
*********************************************************************************************************
*/

void  FS_X_OS_UnlockDeviceOp (const FS__device_type *driver, FS_u32 id) 
{
    OSSemPost(FS_SemDeviceOps);
}


#if FS_POSIX_DIR_SUPPORT

/*
*********************************************************************************************************
*                              Lock global table _FS_dirhandle (api_dir.c).
*********************************************************************************************************
*/

void FS_X_OS_LockDirHandle (void)
{
    INT8U  err;


    OSSemPend(FS_SemDirHandle, 0, &err);
}


/*
*********************************************************************************************************
*                              Unlock global table _FS_dirhandle (api_dir.c).
*********************************************************************************************************
*/

void FS_X_OS_UnlockDirHandle (void)
{
    OSSemPost(FS_SemDirHandle);
}


/*
*********************************************************************************************************
*                                          Lock Directory Operations
*********************************************************************************************************
*/

void FS_X_OS_LockDirOp (FS_DIR *dirp)
{
    INT8U  err;


    OSSemPend(FS_SemDirOps, 0, &err);
}


/*
*********************************************************************************************************
*                                          Unlock Directory Operations
*********************************************************************************************************
*/

void FS_X_OS_UnlockDirOp (FS_DIR *dirp) 
{
    OSSemPost(FS_SemDirOps);
}

#endif  /* FS_POSIX_DIR_SUPPORT */



/*$PAGE*/
/*
*********************************************************************************************************
*                                              Get Date
*********************************************************************************************************
*/

FS_u16  FS_X_OS_GetDate (void) 
{
#if FS_OS_TIME_SUPPORT == 1
    FS_u16      fdate;
    time_t      t;
    struct tm  *ltime;


    time(&t);
    ltime  = localtime(&t);
    fdate  = ltime->tm_mday;
    fdate += ((FS_u16)(ltime->tm_mon  +  1) << 5);
    fdate += ((FS_u16)(ltime->tm_year - 80) << 9);
#else
    FS_u16      fdate;


    fdate  = 1;
    fdate += ((FS_u16) 1 << 5);
    fdate += ((FS_u16) 0 << 9);
#endif
    return (fdate);
}

/*
*********************************************************************************************************
*                                              Get Time
*********************************************************************************************************
*/

FS_u16  FS_X_OS_GetTime (void) 
{
#if FS_OS_TIME_SUPPORT == 1
    FS_u16      ftime;
    time_t      t;
    struct tm  *ltime;


    time(&t);
    ltime  = localtime(&t);
    ftime  = ltime->tm_sec / 2;
    ftime += ((FS_u16) ltime->tm_min  <<  5);
    ftime += ((FS_u16) ltime->tm_hour << 11);
#else
    FS_u16 ftime;


    ftime  = 0;
#endif
    return (ftime);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                         Initialize OS Resources
*********************************************************************************************************
*/

int  FS_X_OS_Init (void) 
{
    FS_SemFileHandle = OSSemCreate(1);
    FS_SemFileOps    = OSSemCreate(1);
    FS_SemMemManager = OSSemCreate(1);
    FS_SemDeviceOps  = OSSemCreate(1);
#if FS_POSIX_DIR_SUPPORT    
    FS_SemDirHandle  = OSSemCreate(1);
    FS_SemDirOps     = OSSemCreate(1);
#endif  /* FS_POSIX_DIR_SUPPORT */    
    return (0);
}

/*
*********************************************************************************************************
*                                         Reclaim OS Resources
*********************************************************************************************************
*/

int  FS_X_OS_Exit (void) 
{
    INT8U  err;


    OSSemDel(FS_SemFileHandle, OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemFileOps   , OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemMemManager, OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemDeviceOps , OS_DEL_ALWAYS, &err);
#if FS_POSIX_DIR_SUPPORT    
    OSSemDel(FS_SemDirHandle , OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemDirOps    , OS_DEL_ALWAYS, &err);
#endif  /* FS_POSIX_DIR_SUPPORT */
    return (0);
}


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jiyouzz国产精品久久| 欧美三级乱人伦电影| 亚洲国产精品嫩草影院| 久久网这里都是精品| 欧美日产国产精品| 成人av在线播放网站| 蜜臀av在线播放一区二区三区| 中文字幕一区二区5566日韩| 欧美一卡二卡在线观看| 91日韩在线专区| 国产传媒欧美日韩成人| 日韩电影在线免费观看| 亚洲女厕所小便bbb| 久久九九国产精品| 精品国产区一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美精品视频www在线观看| 国产成人午夜视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲精品ww久久久久久p站| 中文字幕av一区二区三区| 日韩片之四级片| 欧美久久一二区| 色狠狠av一区二区三区| 99麻豆久久久国产精品免费| 国产毛片精品视频| 国内外成人在线视频| 日本不卡一二三| 丝袜美腿成人在线| 午夜精品成人在线视频| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品福利在线播放| 国产精品私人影院| 国产亚洲精品bt天堂精选| 久久这里只精品最新地址| 日韩欧美美女一区二区三区| 欧美久久一区二区| 69堂成人精品免费视频| 欧美二区乱c少妇| 欧美在线小视频| 欧美性猛交xxxxxxxx| 在线观看视频一区二区欧美日韩| 91亚洲精品久久久蜜桃| 色综合视频一区二区三区高清| 成人av在线一区二区三区| 99久久99久久综合| 色哟哟国产精品| 在线观看国产一区二区| 欧美日韩免费视频| 日韩欧美国产一区二区在线播放| 欧美一区二区久久| 2024国产精品| 国产精品网友自拍| 亚洲人成精品久久久久| 亚洲精品视频在线观看网站| 亚洲图片一区二区| 日本伊人午夜精品| 玖玖九九国产精品| 国产成a人亚洲精品| 99视频精品免费视频| 色综合久久中文综合久久牛| 欧美日韩一级黄| 精品国产污污免费网站入口| 国产午夜精品久久久久久久 | 欧美激情在线观看视频免费| 国产精品欧美久久久久无广告| 国产精品不卡视频| 亚洲一区二区中文在线| 日本三级亚洲精品| 国产一区二区三区最好精华液| 成人动漫av在线| 欧美日韩在线一区二区| 精品国产免费久久| 日韩一区中文字幕| 丝袜美腿亚洲一区二区图片| 国产真实乱对白精彩久久| 一道本成人在线| 日韩欧美一级二级三级| 国产精品久久午夜夜伦鲁鲁| 亚洲午夜久久久久久久久久久| 久久精品国产精品亚洲红杏| 成人av免费网站| 欧美美女视频在线观看| 久久综合九色综合97婷婷| 亚洲天堂av一区| 另类综合日韩欧美亚洲| 97se亚洲国产综合自在线不卡 | 色综合天天性综合| 日韩丝袜美女视频| 中文字幕亚洲电影| 久久精品国产亚洲高清剧情介绍 | 国产精品久久久久久久裸模 | 蜜芽一区二区三区| 99re热视频精品| 日韩欧美在线1卡| 亚洲欧洲av色图| 久久99久久99小草精品免视看| 99久久伊人久久99| 日韩欧美一区二区在线视频| 亚洲精品日韩综合观看成人91| 琪琪一区二区三区| 91成人网在线| 欧美激情一二三区| 久久99久久久久| 欧美三级一区二区| 亚洲婷婷在线视频| 国产高清无密码一区二区三区| 欧美日韩aaaaa| 亚洲三级免费观看| 国产成人午夜视频| 欧美不卡激情三级在线观看| 亚洲国产欧美日韩另类综合| 99久久99久久免费精品蜜臀| 国产亚洲一区二区在线观看| 久久国产人妖系列| 日韩一区二区三区在线观看| 亚洲国产sm捆绑调教视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 激情五月激情综合网| 欧美精品乱码久久久久久| 一区二区高清免费观看影视大全| 99在线精品一区二区三区| 国产精品乱人伦中文| 国产精品一区久久久久| 2024国产精品视频| 另类欧美日韩国产在线| 欧美精品久久久久久久多人混战 | 婷婷久久综合九色国产成人| 99久久免费视频.com| 国产精品你懂的在线| 久久精品免费观看| 在线播放国产精品二区一二区四区 | 色综合天天视频在线观看| 日本一区二区三级电影在线观看| 经典三级在线一区| 欧美一二三区精品| 亚洲国产中文字幕| 91性感美女视频| 精品成人a区在线观看| 久久精品噜噜噜成人av农村| 6080国产精品一区二区| 三级一区在线视频先锋| 在线欧美日韩国产| 夜夜精品视频一区二区| 国产精品1024久久| 国产调教视频一区| 99精品久久免费看蜜臀剧情介绍| 久久麻豆一区二区| 国产一区二区三区四区五区美女| 日韩网站在线看片你懂的| 亚洲一卡二卡三卡四卡| 5566中文字幕一区二区电影| 天堂影院一区二区| 欧美一级日韩免费不卡| 日韩国产精品大片| 欧美v亚洲v综合ⅴ国产v| 六月丁香综合在线视频| 欧美刺激午夜性久久久久久久| 麻豆久久久久久| 亚洲精品一区二区三区香蕉| 国产一区二区三区免费观看| 久久九九影视网| 成人黄色软件下载| 国产午夜三级一区二区三| 国产成人精品亚洲777人妖| 精品国产乱码久久久久久免费| 黄色成人免费在线| 精品国产乱码久久久久久图片| 成人av电影免费在线播放| 亚洲欧美日韩一区二区三区在线观看| 99精品国产一区二区三区不卡| 亚洲女与黑人做爰| 日韩视频免费观看高清完整版 | 国产凹凸在线观看一区二区| 中文字幕免费不卡在线| 不卡在线观看av| 日韩电影在线看| 国产亚洲一区二区三区四区| 不卡电影一区二区三区| 亚洲视频小说图片| 精品久久久网站| 成人丝袜视频网| 亚洲综合免费观看高清完整版在线 | 久久综合九色综合97_久久久| 岛国一区二区在线观看| 亚洲免费av网站| 国产亚洲成av人在线观看导航| 成人av网址在线观看| 亚洲成人久久影院| 亚洲精品一区二区精华| 色婷婷综合久色| 日韩avvvv在线播放| 日韩一区二区三| 成人国产精品视频| 午夜精品免费在线观看| 久久婷婷久久一区二区三区| 欧美色综合久久| 国产乱理伦片在线观看夜一区| √…a在线天堂一区| 欧美一区二区三区四区五区|