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

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

?? syslib.c

?? ADS88x BSP
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* sysLib.c - Motorola DUETads board system-dependent library *//* Copyright 1984-2005 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01d,30mar05,mig  Fix compile warnings.01c,03dec04,dtr  Subtract PM_RESERVED_MEM from memTop for EDR.01b,08mar04,dtr  Add Security engine mapping.01a,20feb04,dtr  created from ads860/sysLib.c.*//*DESCRIPTIONThis library provides board-specific routines.  The chip drivers included are:    ppc860Timer.c	- PowerPC/860 Timer libraryINCLUDE FILES: sysLib.hSEE ALSO:.pG "Configuration"*//* includes */#include "vxWorks.h"#include "vme.h"#include "memLib.h"#include "cacheLib.h"#include "sysLib.h"#include "config.h"#include "string.h"#include "intLib.h"#include "logLib.h"#include "stdio.h"#include "taskLib.h"#include "vxLib.h"#include "tyLib.h"#include "arch/ppc/vxPpcLib.h"#include "private/vmLibP.h"#include "drv/multi/ppc860Siu.h"#include "ads88x.h"IMPORT UINT32   vx860KeyedRegUsed;IMPORT void     vxPlprcrSet (UINT32*,UINT32,UINT32);#define ISYNC WRS_ASM(" isync");PHYS_MEM_DESC sysPhysMemDesc [] =    {    {    (VIRT_ADDR) LOCAL_MEM_LOCAL_ADRS,    (PHYS_ADDR) LOCAL_MEM_LOCAL_ADRS,    LOCAL_MEM_SIZE ,    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE    },    {    (VIRT_ADDR) 0x02000000,    (PHYS_ADDR) 0x02000000,    0x00001000,				/* 4 k - Board Control and Status register 5 */	    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },    {    (VIRT_ADDR) BCSR0,    (PHYS_ADDR) BCSR0,    0x00001000,				/* 4 k - Board Control and Status */	    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },#ifdef INCLUDE_TFFS    {    (VIRT_ADDR) PC_BASE_ADRS_0,    (PHYS_ADDR) PC_BASE_ADRS_0,    PC_SIZE_0,                          /* 1 m - PCMCIA window 0 */    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },    {    (VIRT_ADDR) PC_BASE_ADRS_1,    (PHYS_ADDR) PC_BASE_ADRS_1,    PC_SIZE_1,                          /* 32 m - PCMCIA window 1 */    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },#endif /* INCLUDE_TFFS */    {    (VIRT_ADDR) INTERNAL_MEM_MAP_ADDR,    (PHYS_ADDR) INTERNAL_MEM_MAP_ADDR,    INTERNAL_MEM_MAP_SIZE,		/* 64 k - Internal Memory Map */	    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },    {    (VIRT_ADDR) ROM_BASE_ADRS,    (PHYS_ADDR) ROM_BASE_ADRS,    ROM_SIZE,				/* Flash memory */	    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE ,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT     }#ifdef INCLUDE_SECURITY_ENGINE    , /* Security Block */    {    (VIRT_ADDR) SEC1_ADDR,    (PHYS_ADDR) SEC1_ADDR,    SEC1_SIZE,    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT |    VM_STATE_MASK_GUARDED    }#endif /* INCLUDE_SECURITY_ENGINE */    };int sysPhysMemDescNumEnt = NELEMENTS (sysPhysMemDesc);int   sysBus      = BUS;                /* system bus type (VME_BUS, etc) */int   sysCpu      = CPU;                /* system CPU type (PPC860) */char *sysBootLine = BOOT_LINE_ADRS;	/* address of boot line */char *sysExcMsg   = EXC_MSG_ADRS;	/* catastrophic message area */int   sysProcNum;			/* processor number of this CPU */int   sysFlags;				/* boot flags */char  sysBootHost [BOOT_FIELD_LEN];	/* name of host from which we booted */char  sysBootFile [BOOT_FIELD_LEN];	/* name of file from which we booted */BOOL  sysVmeEnable = FALSE;		/* by default no VME */#ifdef INCLUDE_MOT_FEC/* set the following array to a unique Ethernet hardware address */unsigned char sysFecEnetAddr [2][6] = {{0x08, 0x00, 0x3e, 0x32, 0x53, 0x22},				       {0x08, 0x00, 0x3e, 0x32, 0x53, 0x23}};IMPORT STATUS sysFecEnetDisable (UINT32 motCpmaddr,UINT32 fecNum);#endif /* INCLUDE_MOT_FEC */#include "sysSerial.c"#include "intrCtl/ppc860Intr.c"#include "mem/nullNvRam.c"#ifdef INCLUDE_AUX_CLK#include "timer/ppc860Timer.c"		/* PPC860 & 821 have on chip timers */#else#include "timer/ppcDecTimer.c"#endif /* INCLUDE_AUX_CLK *//******************************************************************************** sysModel - return the model name of the CPU board** This routine returns the model name of the CPU board.** RETURNS: A pointer to the string.*/char * sysModel (void)    {    return ("Motorola ADS - PowerPC 88x");    }/******************************************************************************** sysBspRev - return the bsp version with the revision eg 1.0/<x>** This function returns a pointer to a bsp version with the revision.* for eg. 1.0/<x>. BSP_REV defined in config.h is concatanated to* BSP_VERSION and returned.** RETURNS: A pointer to the BSP version/revision string.*/char * sysBspRev (void)    {    return (BSP_VERSION BSP_REV);    }#ifdef INCLUDE_SYS_HW_INIT_0/******************************************************************************* sysHwInit0 - Used here to enable extended exception vector support.** RETURNS: None.*/ void sysHwInit0 () {excExtendedVectors=TRUE; }#endif /*INCLUDE_SYS_HWINIT_0 *//******************************************************************************** sysHwInit - initialize the system hardware** This routine initializes various feature of the MPC860ADS boards. It sets up* the control registers, initializes various devices if they are present.** NOTE: This routine should not be called directly by the user.** RETURNS: N/A*/void sysHwInit (void)    {    UINT32	immrVal = vxImmrIsbGet();    UINT32      plprcrVal;    /* set the SPLL to the value requested */    /* SPR 65678, wrap PLPRCR, SCC in unlock/lock code */#ifdef USE_KEYED_REGS    vx860KeyedRegUsed=TRUE;#endif#ifdef USE_KEYED_REGS    * PLPRCRK(immrVal) = KEYED_REG_UNLOCK_VALUE;    ISYNC;#endif    plprcrVal = PLPRCR_VAL;    /* delay will be (3 * 16) + 2 clock cycles */    vxPlprcrSet ( (UINT32*)immrVal ,plprcrVal ,3 );#ifdef USE_KEYED_REGS    * PLPRCRK(immrVal) = (UINT32)(~KEYED_REG_UNLOCK_VALUE);#endif    /* set the BRGCLK division factor */#ifdef USE_KEYED_REGS    * SCCRK(immrVal) = KEYED_REG_UNLOCK_VALUE;    ISYNC;#endif    /* set the BRGCLK division factor */    * SCCR(immrVal) = (* SCCR(immrVal) & ~SCCR_DFBRG_MSK) |				(BRGCLK_DIV_FACTOR << SCCR_DFBRG_SHIFT);#ifdef USE_KEYED_REGS    * SCCRK(immrVal) = (UINT32)(~KEYED_REG_UNLOCK_VALUE);#endif    /* set the Periodic Timer A value */         * MAMR(immrVal) = (* MAMR(immrVal) & ~MAMR_PTA_MSK) | 				(PTA_VALUE << MAMR_PTA_SHIFT);	    /* set the Periodic Timer PreScale */    * MPTPR(immrVal) = PTP_VALUE;    /* reset the port A */    *PAPAR(immrVal) = 0;    *PADIR(immrVal) = 0;    *PAODR(immrVal) = 0;    /* reset the port B */    *PBPAR(immrVal) = 0;    *PBDIR(immrVal) = 0;    *PBODR(immrVal) = 0;    /* reset the port C */    *PCPAR(immrVal) = 0;    *PCDIR(immrVal) = 0;    *PCSO(immrVal)  = 0;    /* reset the port D */    *PDPAR(immrVal) = 0;    *PDDIR(immrVal) = 0;    *SICR(immrVal) = 0;			/* initialize SI/NMSI connections */    /* Initialize interrupts */    ppc860IntrInit(IV_LEVEL4);	/* default vector level */    /* Reset serial channels */    sysSerialHwInit();    /* make sure Ethernet is disabled */#ifdef INCLUDE_MOT_FEC    /* make sure the FEC is disabled */    sysFecEnetDisable (immrVal,0);    sysFecEnetDisable (immrVal,1);#endif /* INCLUDE_MOT_FEC */    /*     * The power management mode is initialized here. Reduced power mode     * is activated only when the kernel is iddle (cf vxPowerDown).     * Power management mode is selected via vxPowerModeSet().     * DEFAULT_POWER_MGT_MODE is defined in config.h.     */    vxPowerModeSet (DEFAULT_POWER_MGT_MODE);#ifdef  FORCE_DEFAULT_BOOT_LINE    strncpy (sysBootLine, DEFAULT_BOOT_LINE, strlen(DEFAULT_BOOT_LINE)+1);    sysBootLine[strlen(DEFAULT_BOOT_LINE)] = 0;#endif    }/********************************************************************************* sysPhysMemTop - get the address of the top of physical memory** This routine returns the address of the first missing byte of memory,* which indicates the top of memory.** RETURNS: The address of the top of physical memory.** SEE ALSO: sysMemTop()*/char * sysPhysMemTop (void)    {    static char * physTop = NULL;    if (physTop == NULL)	{	physTop = (char *)(LOCAL_MEM_LOCAL_ADRS + LOCAL_MEM_SIZE);	}    return (physTop) ;    }/********************************************************************************* sysMemTop - get the address of the top of VxWorks memory** This routine returns a pointer to the first byte of memory not* controlled or used by VxWorks.** The user can reserve memory space by defining the macro USER_RESERVED_MEM* in config.h.  This routine returns the address of the reserved memory* area.  The value of USER_RESERVED_MEM is in bytes.** RETURNS: The address of the top of VxWorks memory.*/char * sysMemTop (void)    {    static char * memTop = NULL;    if (memTop == NULL)	{	memTop = sysPhysMemTop () - USER_RESERVED_MEM;#ifdef INCLUDE_EDR_PM        /* account for ED&R persistent memory */        memTop = memTop - PM_RESERVED_MEM;#endif	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆高清视频| 91亚洲男人天堂| 99久久国产免费看| 欧美精品一二三| 国产精品久久精品日日| 中文文精品字幕一区二区| 激情欧美一区二区三区在线观看| 99久久婷婷国产综合精品电影| 日韩一区和二区| 亚洲一区二区在线免费看| 国产大陆亚洲精品国产| 日韩一区二区三区av| 亚洲综合一区二区精品导航| 丁香六月久久综合狠狠色| 欧美不卡视频一区| 偷拍一区二区三区四区| 欧美主播一区二区三区| 日韩一区欧美小说| 精品粉嫩超白一线天av| 国产精品一区专区| 一区二区免费在线| 大桥未久av一区二区三区中文| 日韩午夜在线观看视频| 肉肉av福利一精品导航| 欧美在线观看视频一区二区| 亚洲品质自拍视频网站| 成人av网站在线观看| 国产精品美女视频| 成人性生交大合| 中文字幕 久热精品 视频在线| 国产精品资源在线| 久久精品视频一区二区| 国产一区久久久| 久久久久久久久久久久久久久99 | 国产一区二区91| 精品少妇一区二区三区视频免付费 | 玉米视频成人免费看| 国产高清一区日本| 国产农村妇女毛片精品久久麻豆| 国产一区二区不卡| 国产欧美一区二区精品仙草咪| 高清不卡一区二区| 136国产福利精品导航| 91视频免费看| 亚洲激情自拍偷拍| 欧美日韩色综合| 另类成人小视频在线| 久久久精品蜜桃| 成人禁用看黄a在线| 一区二区三区四区在线免费观看 | 美女在线视频一区| 久久噜噜亚洲综合| av亚洲精华国产精华精华| 中文字幕一区二区三区四区不卡| 99国产精品国产精品久久| 亚洲综合精品自拍| 日韩免费观看高清完整版| 国产乱人伦偷精品视频不卡| 国产目拍亚洲精品99久久精品| 一本久久a久久免费精品不卡| 亚洲亚洲人成综合网络| 精品欧美乱码久久久久久 | 亚洲成av人片一区二区梦乃| 91精品国产一区二区三区香蕉| 国产原创一区二区| 亚洲天堂a在线| 欧美一区二区福利在线| 国产精品自拍在线| 亚洲一二三四区不卡| 久久综合九色综合久久久精品综合| 成人激情小说乱人伦| 亚洲国产一区二区在线播放| 久久久欧美精品sm网站| 欧美午夜视频网站| 国产精品一区二区久激情瑜伽| 亚洲激情网站免费观看| 精品久久五月天| 91黄色激情网站| 国产精品一级片在线观看| 亚洲国产综合色| 国产喷白浆一区二区三区| 欧美日韩国产首页在线观看| 国产成人精品www牛牛影视| 五月激情六月综合| 亚洲色图视频免费播放| 亚洲精品一区二区三区99| 欧美少妇bbb| 不卡高清视频专区| 狠狠色丁香久久婷婷综合_中| 亚洲在线观看免费| 中文字幕欧美激情| 日韩精品自拍偷拍| 欧美精品乱码久久久久久| 99久久国产综合精品色伊| 国产精品正在播放| 六月婷婷色综合| 亚洲一区二区视频在线观看| 9191成人精品久久| 91麻豆精品在线观看| 国产一区二区不卡在线| 九色|91porny| 欧美国产国产综合| 91精彩视频在线| 大白屁股一区二区视频| 激情综合五月婷婷| 蜜桃av一区二区三区| 天天综合网天天综合色| 亚洲综合免费观看高清完整版| 综合久久国产九一剧情麻豆| 中文字幕国产一区| 国产亚洲污的网站| 国产亚洲福利社区一区| www欧美成人18+| 久久亚洲精品国产精品紫薇| 欧美成人a∨高清免费观看| 欧美一区二区三区在线观看 | 国产视频一区二区在线观看| 精品一区二区在线播放| 石原莉奈在线亚洲二区| 亚洲国产日日夜夜| 国产一区福利在线| 精品一区二区三区日韩| 国产在线麻豆精品观看| 国产精品一区二区不卡| 国产不卡在线一区| av亚洲精华国产精华精| 色婷婷久久综合| 欧美日韩亚洲不卡| 日韩亚洲欧美成人一区| 日韩欧美在线网站| 久久众筹精品私拍模特| 国产精品成人网| 一区二区视频在线| 午夜日韩在线电影| 黑人巨大精品欧美一区| 成人h版在线观看| 日本道免费精品一区二区三区| 欧美熟乱第一页| 日韩欧美色综合| 国产欧美一区二区精品忘忧草 | 在线观看日韩毛片| 日韩精品中文字幕一区| 欧美国产日产图区| 亚洲综合一区二区三区| 捆绑变态av一区二区三区| 成人午夜av电影| 欧美日本国产视频| 日本一区二区三区视频视频| 亚洲男人的天堂在线观看| 天天综合日日夜夜精品| 国产麻豆视频一区| 欧美私人免费视频| 久久综合色综合88| 亚洲午夜免费电影| 国产经典欧美精品| 91高清在线观看| 2022国产精品视频| 亚洲国产成人av好男人在线观看| 精品综合久久久久久8888| 色综合久久66| 久久青草国产手机看片福利盒子| 亚洲三级在线看| 国产一区啦啦啦在线观看| 欧美日韩视频在线一区二区| 国产婷婷色一区二区三区四区| 亚洲自拍偷拍麻豆| 成人精品一区二区三区中文字幕| 91麻豆精品国产自产在线观看一区 | 欧美在线免费观看亚洲| 国产色爱av资源综合区| 婷婷激情综合网| 色综合天天综合给合国产| 成人毛片视频在线观看| 91精品国产一区二区| 亚洲美女视频在线观看| 国产一区二三区好的| 欧美一区二区在线免费播放 | 欧美国产精品中文字幕| 日本欧美加勒比视频| 欧洲亚洲国产日韩| 国产精品久久久久久久久久免费看| 久久99这里只有精品| 欧美欧美欧美欧美首页| 亚洲综合色噜噜狠狠| 91猫先生在线| 亚洲乱码中文字幕| 99国产一区二区三精品乱码| 欧美激情一区二区三区全黄| 激情六月婷婷综合| 久久这里只有精品视频网| 蜜臀av在线播放一区二区三区| 欧美日本一区二区三区四区| 亚洲国产一区视频| 精品1区2区3区| 亚洲国产综合色| 4438x亚洲最大成人网| 日韩综合小视频| 日韩一区二区精品在线观看| 喷白浆一区二区| 精品美女一区二区|