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

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

?? syslib.c

?? 三星公司S3C4510B的VXWORKS操作系統下的BSP
?? C
?? 第 1 頁 / 共 2 頁
字號:
* unique on a single backplane.** NOTE* By convention, only processor 0 should dual-port its memory.** RETURNS: N/A** SEE ALSO: sysProcNumGet()*/void sysProcNumSet    (    int procNum        /* processor number */    )    {    sysProcNum = procNum;    }#ifdef INCLUDE_FLASH/* default procedures assume static ram with no special r/w routines */#ifndef NV_RAM_WR_ENBL#   define NV_RAM_WR_ENBL    /* no write enable procedure */#endif /*NV_RAM_WR_ENBL*/#ifndef NV_RAM_WR_DSBL#   define NV_RAM_WR_DSBL    /* no write disable procedure */#endif /*NV_RAM_WR_DSBL*/#ifndef NV_RAM_READ#   define NV_RAM_READ(x) \    (*(UCHAR *)((int)NV_RAM_ADRS + ((x) * NV_RAM_INTRVL)))#endif /*NV_RAM_READ*/#ifndef NV_RAM_WRITE#   define NV_RAM_WRITE(x,y) \    (*(UCHAR *)((int)NV_RAM_ADRS + ((x) * NV_RAM_INTRVL)) = (y))#endif /*NV_RAM_WRITE*/    /******************************************************************************** sysNvRamGet - get the contents of non-volatile RAM** This routine copies the contents of non-volatile memory into a specified* string.  The string is terminated with an EOS.** RETURNS: OK, or ERROR if access is outside the non-volatile RAM range.** SEE ALSO: sysNvRamSet()*/STATUS sysNvRamGet    (    char *string,    /* where to copy non-volatile RAM    */    int   strLen,      /* maximum number of bytes to copy   */    int   offset       /* byte offset into non-volatile RAM */    )    {    STATUS retVal;    offset += NV_BOOT_OFFSET;   /* boot line begins at <offset> = 0 */    if ((offset < 0)     || (strLen < 0)     || ((offset + strLen) > NV_RAM_SIZE))        return (ERROR);    retVal = sysFlashGet (string, strLen, offset);    string [strLen] = EOS;    return (OK);    }/******************************************************************************** sysNvRamSet - write to non-volatile RAM** This routine copies a specified string into non-volatile RAM.** RETURNS: OK, or ERROR if access is outside the non-volatile RAM range.** SEE ALSO: sysNvRamGet()*/STATUS sysNvRamSet    (    char *string,     /* string to be copied into non-volatile RAM */    int strLen,       /* maximum number of bytes to copy           */    int offset        /* byte offset into non-volatile RAM         */    )    {    offset += NV_BOOT_OFFSET;   /* boot line begins at <offset> = 0 */    if ((offset < 0)     || (strLen < 0)     || ((offset + strLen) > NV_RAM_SIZE))        return ERROR;    NV_RAM_WR_ENBL;    return (sysFlashSet (string, strLen, offset));    }/******************************************************************************** sysFlashBoardDelay - create a delay** This routine is used by flashMem.c to produce specified delays. It* appears that the Flash driver cannot use taskDelay() at certain* points.** RETURNS: N/A*/void sysFlashBoardDelay (void)    {    return;    }#endif /* INCLUDE_FLASH */#ifdef INCLUDE_CACHE_SUPPORT/******************************************************************************** sngks32cCacheLibInit - initialize ARM cache library function pointers** This routine initializes the cache library for SNG32C processor.  It* initializes the function pointers and configures the caches to the* specified cache modes.  Modes should be set before caching is* enabled.  If two complementary flags are set (enable/disable), no* action is taken for any of the input flags.** INTERNAL* This routine is called (from cacheLibInit()), before sysHwInit has* been called, and before BSS has been cleared.** RETURNS: OK always**/STATUS sngks32cCacheLibInit    (    CACHE_MODE    instMode,    /* instruction cache mode */    CACHE_MODE    dataMode    /* data cache mode */    )    {#if ((ARMCACHE == ARMCACHE_KS32C))    cacheLib.enableRtn               = (FUNCPTR) sngks32cCacheEnable;    cacheLib.disableRtn              = (FUNCPTR) sngks32cCacheDisable;    cacheLib.flushRtn                = (FUNCPTR) sngks32cCacheFlush;    cacheLib.invalidateRtn           = (FUNCPTR) NULL;    cacheLib.clearRtn                = (FUNCPTR) NULL;    cacheLib.textUpdateRtn           = (FUNCPTR) NULL;    cacheLib.pipeFlushRtn            = (FUNCPTR) NULL;    cacheLib.dmaMallocRtn            = (FUNCPTR) sngks32cCacheDmaMalloc;    cacheLib.dmaFreeRtn              = (FUNCPTR) sngks32cCacheDmaFree;    sngks32cCacheFuncs.virtToPhysRtn = (FUNCPTR) sngks32cVirtToPhysRtn;    sngks32cCacheFuncs.physToVirtRtn = (FUNCPTR) sngks32cPhysToVirtRtn;    if (    (instMode & CACHE_WRITEALLOCATE)    ||    (dataMode & CACHE_WRITEALLOCATE)    ||    (instMode & CACHE_NO_WRITEALLOCATE)    ||    (dataMode & CACHE_NO_WRITEALLOCATE)    ||    (instMode & CACHE_SNOOP_ENABLE)        ||    (dataMode & CACHE_SNOOP_ENABLE)        ||    (instMode & CACHE_SNOOP_DISABLE)    ||    (dataMode & CACHE_SNOOP_DISABLE)    ||    (instMode & CACHE_BURST_ENABLE)        ||    (dataMode & CACHE_BURST_ENABLE)        ||    (instMode & CACHE_BURST_DISABLE)    ||    (dataMode & CACHE_BURST_DISABLE))        return ERROR;    /* This has combined Instruction and Data caches */    if (instMode != dataMode)        return ERROR;#else#error ARMCACHE type not supported here#endif    return OK;    }/******************************************************************************** sngks32cCacheDmaMalloc - allocate a cache-safe buffer** This routine attempts to return a pointer to a section of memory* that will not experience cache coherency problems.  This routine* is only called when MMU support is available for cache control.** RETURNS: A pointer to a cache-safe buffer, or NULL.** SEE ALSO: sngks32cCacheDmaFree(), cacheDmaMalloc()** NOMANUAL*/void * sngks32cCacheDmaMalloc    (    size_t    bytes    /* size of cache-safe buffer */    )    {    void   *ptr;    UINT32  foo;    ptr = malloc (bytes);    foo = (UINT32)ptr;    foo |= NON_CACHE_REGION;    ptr = (void *)foo;    return (ptr);    } /* cacheArchDmaMalloc() *//******************************************************************************** sngks32cCacheDmaFree - free the buffer acquired by cacheArchDmaMalloc()** This routine returns to the free memory pool a block of memory previously* allocated with cacheArchDmaMalloc().  The buffer is marked cacheable.** RETURNS: OK, or ERROR if cacheArchDmaMalloc() cannot be undone.** SEE ALSO: sngks32cCacheDmaMalloc(), cacheDmaFree()** NOMANUAL*/STATUS sngks32cCacheDmaFree    (    void *    pBuf        /* ptr returned by cacheArchDmaMalloc() */    )    {    UINT32 foo;    foo = (UINT32) pBuf;    foo &= ~NON_CACHE_REGION;    pBuf = (void *)foo;	    free (pBuf);    /* free buffer after modified */    return OK;    } /* cacheArchDmaFree() *//******************************************************************************** sngks32cCacheEnable - enable cache** This routine enables cache** RETURNS: void** SEE ALSO: sngks32cCacheDisable(), sngks32cCacheFlush()** NOMANUAL*/void sngks32cCacheEnable    (     void    )    {    UINT32    result;    /* Clear cache-related bits */    SBCARM7_CTRL_REG_READ (SNGKS32C_SYSCFG, result);    SBCARM7_CTRL_REG_WRITE (SNGKS32C_SYSCFG, (result & 0xffffffC0));    SBCARM7_CTRL_REG_READ (SNGKS32C_SYSCFG, result);#if (SBCARM7_CACHE_SIZE == SBCARM7_CACHE_4K)    result &= ~SBCARM7_CACHE_MODE;        /* For 4K Cache */    SBCARM7_CTRL_REG_WRITE (SNGKS32C_SYSCFG, (result | SBCARM7_WRITE_BUFF));    sngks32cCacheFlush();    SBCARM7_CTRL_REG_READ (SNGKS32C_SYSCFG, result);    SBCARM7_CTRL_REG_WRITE (SNGKS32C_SYSCFG, (result | SBCARM7_CACHE_ENABLE));#endif /* (SBCARM7_CACHE_SIZE == SBCARM7_CACHE_4K) */#if (SBCARM7_CACHE_SIZE == SBCARM7_CACHE_8K)	    result &= ~SBCARM7_CACHE_MODE;        /* Clear mode bits */    SBCARM7_CTRL_REG_WRITE (SNGKS32C_SYSCFG,                            (result | SBCARM7_WRITE_BUFF | SBCARM7_CACHE_8K));    sngks32cCacheFlush();    SBCARM7_CTRL_REG_READ (SNGKS32C_SYSCFG, result);    SBCARM7_CTRL_REG_WRITE(SNGKS32C_SYSCFG, (result | SBCARM7_CACHE_ENABLE));#endif /* (SBCARM7_CACHE_SIZE == SBCARM7_CACHE_8K) */    }/******************************************************************************** sngks32cCacheDisable - disable cache** This routine disables cache** RETURNS: void** SEE ALSO: sngks32cCacheEnable(), sngks32cCacheFlush()** NOMANUAL*/void sngks32cCacheDisable    (    void    )    {    UINT32 result;    SBCARM7_CTRL_REG_READ(SNGKS32C_SYSCFG, result);    SBCARM7_CTRL_REG_WRITE(SNGKS32C_SYSCFG,                           (result & ~(SBCARM7_CACHE_ENABLE)));    }/******************************************************************************** sngks32cCacheFlush - flush the cache** This routine flushes the cache** RETURNS: void** SEE ALSO: sngks32cCacheEnable(), sngks32cCacheDisable()** NOMANUAL*/void sngks32cCacheFlush(void)    {    int i;    UINT32 *tagram;    tagram = (UINT32 *)SBCARM7_TAGRAM;    sngks32cCacheDisable();    for(i=0; i < 256; i++)         {        *tagram = 0x00000000;         tagram += 1;        }        }/******************************************************************************** sngks32cPhysToVirtRtn - force memory to cacheable region** This routine clears the "non-cache" bit on an address to force it to use* the cacheable region of memory** RETURNS: void** SEE ALSO: sngks32cCacheEnable(), sngks32cCacheDisable()** NOMANUAL*/void * sngks32cPhysToVirtRtn     (    void *adrs    )    {    UINT32 foo;    foo = (UINT32)adrs;    foo &= ~NON_CACHE_REGION;    adrs = (void *) foo;    return adrs;    }/******************************************************************************** sngks32cVirtToPhysRtn - force memory to non-cacheable region** This routine sets the "non-cache" bit on an address to force it to use* the non-cacheable region of memory** RETURNS: void** SEE ALSO: sngks32cCacheEnable(), sngks32cCacheDisable()** NOMANUAL*/void * sngks32cVirtToPhysRtn     (    void *adrs    )        {    UINT32 foo;    foo = (UINT32)adrs;    foo |= NON_CACHE_REGION;    adrs = (void *) foo;    return adrs;    }#endif    /* INCLUDE_CACHE_SUPPORT */#ifdef DEBUG/******************************************************************************** sysDebug - print message using polled serial driver** Use the polled driver to print debug messages.  Useful before the full* hardware initialization is complete (but only after sysHwInit).** RETURNS: N/A.** NOMANUAL*/void sysDebug    (    char *str    )    {    int msgSize;    int msgIx;    LOCAL SIO_CHAN * pSioChan;        /* serial I/O channel */    LOCAL BOOL beenHere = FALSE;    msgSize = strlen (str);    if (!beenHere)        {        sysSerialHwInit ();        pSioChan = sysSerialChanGet (0);        sioIoctl (pSioChan, SIO_BAUD_SET, (void *)CONSOLE_BAUD_RATE);        sioIoctl (pSioChan, SIO_MODE_SET, (void *) SIO_MODE_POLL);        beenHere = TRUE;	}    for (msgIx = 0; msgIx < msgSize; msgIx++)        {        while (sioPollOutput (pSioChan, str[msgIx]) == EAGAIN)            /* do nothing */;        }    }#endif /* DEBUG */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99热这里只有精品| 午夜精品久久久久久久| 欧美精品一区男女天堂| 欧美日高清视频| 色噜噜夜夜夜综合网| 91色|porny| av亚洲精华国产精华| 99在线精品视频| 色美美综合视频| 色爱区综合激月婷婷| 精品婷婷伊人一区三区三| 欧美日韩不卡视频| 欧美一卡在线观看| 久久久九九九九| 国产精品视频第一区| 最新久久zyz资源站| 亚洲一二三区不卡| 蜜桃免费网站一区二区三区| 国产一区二区三区免费观看| 国产精品一区二区91| 成人黄色大片在线观看| 欧美日韩一区久久| 日韩女优av电影在线观看| 亚洲国产成人午夜在线一区| 亚洲精品免费在线观看| 日本中文字幕一区二区有限公司| 久久99九九99精品| 99精品1区2区| 日韩一区二区三区电影| 国产精品女主播在线观看| 亚洲综合av网| 精彩视频一区二区三区| 一本大道久久精品懂色aⅴ| 欧美高清www午色夜在线视频| 欧美电视剧免费全集观看| 欧美激情在线一区二区三区| 一级女性全黄久久生活片免费| 日韩电影在线看| 懂色av一区二区夜夜嗨| 91搞黄在线观看| 久久尤物电影视频在线观看| 国产欧美中文在线| 天使萌一区二区三区免费观看| 国产成人在线观看免费网站| 欧美亚洲国产一区二区三区| 久久精品视频网| 五月婷婷另类国产| www.成人在线| 精品国产免费视频| 五月天丁香久久| 99精品视频在线观看| 日韩午夜激情免费电影| 亚洲欧美成aⅴ人在线观看| 精品亚洲成a人| 欧美精品精品一区| 伊人婷婷欧美激情| 成人在线一区二区三区| 日韩免费高清av| 性感美女极品91精品| 色婷婷狠狠综合| 久久亚洲一级片| 男女激情视频一区| 91精品国产日韩91久久久久久| 自拍偷拍欧美激情| 成人激情动漫在线观看| 久久综合狠狠综合久久综合88| 日韩在线观看一区二区| 91国产福利在线| 亚洲免费观看高清完整版在线观看 | 国产欧美视频一区二区| 午夜精品久久久久久不卡8050| 91精彩视频在线观看| 亚洲视频一区在线观看| 99久久99久久精品免费观看| 国产日韩精品一区二区三区| 精品一区二区三区久久| 精品免费视频.| 久久精品理论片| 欧美大片在线观看一区| 久久99久久99| 久久久五月婷婷| 国产精品1区2区3区在线观看| 久久综合久色欧美综合狠狠| 国产精品123区| 国产精品免费视频一区| 91视频观看免费| 亚洲福利电影网| 日韩精品影音先锋| 国产一区999| 国产精品毛片久久久久久| 99re成人在线| 亚洲国产va精品久久久不卡综合 | 一区二区三区国产精品| 欧洲色大大久久| 日韩av电影天堂| 欧美成人精品福利| 成人蜜臀av电影| 亚洲精品成人悠悠色影视| 欧美日韩国产精品自在自线| 日韩中文字幕1| 国产性做久久久久久| 99re这里都是精品| 天天色 色综合| 精品国产亚洲在线| 91免费版pro下载短视频| 日韩专区欧美专区| 国产情人综合久久777777| 色婷婷激情久久| 精品影院一区二区久久久| 国产人成一区二区三区影院| 欧美三级视频在线播放| 国产一区二区伦理| 一区二区在线看| 日韩精品一区二区三区视频在线观看 | 99久久777色| 日本人妖一区二区| 国产精品日韩成人| 欧美高清激情brazzers| 成人免费高清在线| 免费在线视频一区| 亚洲视频一区二区在线观看| 欧美一区二区三区的| 懂色av噜噜一区二区三区av| 视频精品一区二区| 中文字幕中文字幕在线一区| 欧美一区二区在线视频| 91香蕉视频黄| 经典一区二区三区| 天天综合日日夜夜精品| 亚洲欧美视频一区| 国产精品乱码妇女bbbb| 日韩一区二区视频在线观看| 色一情一伦一子一伦一区| 韩国欧美国产1区| 亚洲国产成人av网| 一区二区三区在线观看欧美| 国产精品私房写真福利视频| 精品久久久三级丝袜| 欧美乱熟臀69xxxxxx| 91麻豆产精品久久久久久 | 国产精品一区二区你懂的| 亚欧色一区w666天堂| 亚洲一区二区五区| 日韩美女啊v在线免费观看| 国产色产综合色产在线视频| 欧美一二三四区在线| 欧美另类变人与禽xxxxx| 欧美在线观看视频一区二区| 一本色道久久综合亚洲91| 成人h精品动漫一区二区三区| 国产一区二区三区久久久| 久久精品国产99久久6| 麻豆精品精品国产自在97香蕉 | 精品国产一区二区精华| 欧美一级艳片视频免费观看| 欧美日韩精品高清| 欧美美女一区二区在线观看| 日本韩国视频一区二区| 91精品1区2区| 欧美日韩不卡一区| 日韩欧美高清一区| 2024国产精品| 国产精品欧美精品| 中文字幕日本不卡| 亚洲欧洲制服丝袜| 亚洲专区一二三| 天天av天天翘天天综合网 | 国产成人精品免费看| 成人性生交大片免费看中文| 9i看片成人免费高清| 色天天综合久久久久综合片| 欧美亚洲动漫精品| 日韩一区二区三区免费观看| 2020国产精品| 亚洲人成网站色在线观看| 一区二区三区国产精华| 日韩成人av影视| 国产福利一区二区| 91成人看片片| 日韩视频一区二区在线观看| 久久久无码精品亚洲日韩按摩| 国产精品久久久久影院| 夜夜精品视频一区二区| 精品中文字幕一区二区| gogo大胆日本视频一区| 欧美久久久久久久久久| 国产亚洲一二三区| 一区二区三区成人| 国内外成人在线| 在线观看日韩av先锋影音电影院| 91精品国产综合久久福利软件| 国产午夜精品一区二区三区视频 | 亚洲一本大道在线| 国产一区二区三区最好精华液| 91在线精品一区二区三区| 日韩欧美在线123| 中文字幕在线不卡一区| 极品少妇一区二区| 欧美日韩一区二区三区四区五区 | 国产精品一二三在|