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

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

?? systffs.c

?? vxworks嵌入式開發vmware bsp包 其中已包括網卡的驅動 本人試過 非常好用
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* sysTffs.c - PC Pentium/Pentium2/Pentium3 system-dependent TrueFFS library *//* Copyright 1984-1997 Wind River Systems, Inc. */#include "copyright_wrs.h"/* FAT-FTL Lite Software Development Kit * Copyright (C) M-Systems Ltd. 1995-1997	*//*modification history--------------------01t,30apr01,yp  removing assumption that Disk On Chip support will always be                 present01s,14dec00,mks  removed references to pc386 and pc486. SPR 63032.01r,29nov00,yp  cleaning up so we can build as BSP stub01q,31may99,yp  Added comments suggested in SPR #2531901p,21apr98,yp   added tffs to files included from there01o,26mar98,hdn  added DOC2_XXX macros along with windowBaseAddress().01n,11mar98,yp   made including tffsConfig.c conditional so man page		 generation does not include it.01m,09mar98,kbw  made man page edits to fix problems found by QE01l,04mar98,kbw  made man page edits01k,13feb98,hdn  commented out pcVccOff() to fix multi drive testing.01j,19jan98,hdn  fixed pcVccXX, pcVppXX. added timeout in while loop.01i,18dec97,hdn  added comment.  cleaned up.01h,11dec97,hdn  added our PCMCIA library support.01g,05dec97,hdn  added flDelayMsecs(), socketTable[]. cleanup.01f,25nov97,hdn  made each interface functions configurable.01e,24nov97,hdn  made each socket interface configurable.01d,11nov97,hdn  made flDelayLoop() dummy function.01c,11nov97,hdn  fixed comments, copyright.01b,05nov97,hdn  cleaned up.01a,09oct97,and  written by Andray in M-Systems*//*DESCRIPTIONThis library provides board-specific hardware access routines for TrueFFS.  In effect, these routines comprise the socket component driver (or drivers)for your flash device hardware.  At socket registration time, TrueFFS stores pointers to the functions of this socket component driver in an 'FLSocket' structure.  When TrueFFS needs to access the flash device, it uses these functions.  Because this file is, for the most part, a device driver that exports its functionality by registering function pointers with TrueFFS, very few of the functions defined here are externally callable.  For the record, these external functions are flFitInSocketWindow() and flDelayLoop().  You should never have any need to call these functions.  However, one of the most import functions defined in this file is neitherreferenced in an 'FLSocket' structure, nor is it externally callable.  Thisfunction is sysTffsInit().  TrueFFS calls this function at initialization time to register socket component drivers for all the flash devices attached to your target.  It is this call to sysTffs() that results in assigning drive numbers to the flash devices on your target hardware.  Drive numbers are assigned by the order in which the socket component drivers are registered.The first to be registered is drive 0, the second is drive 1, and so on up to 4.  As shipped, TrueFFS supports up to five flash drives.  After registering socket component drivers for a flash device, you may format the flash medium even though there is not yet a block device driverassociated with the flash (see the reference entry for the tffsDevCreate() routine).  To format the flash medium for use with TrueFFS, call tffsDevFormat() or, for some BSPs, sysTffsFormat().  The sysTffsFormat() routine is an optional but BSP-specific externally callable helper function.  Internally, it calls tffsDevFormat() with a pointer to a 'FormatParams' structure initialized to values that leave a space on the flash device for a boot image. This space is outside the region managed by TrueFFS.  This special region is necessary for boot images because the normal translation and wear-leveling services of TrueFFS are incompatible with the needs of the boot program and the boot image it relies upon.  To write a boot image (or any other data) into this area, use tffsBootImagePut().  INCLUDE FILES: flsocket.hSEE ALSO : tffsDevFormat tffsRawio*//* includes */#include "vxWorks.h"#include "config.h"#include "tffs/flsocket.h"#include "tffs/pcic.h"/* defines */#define INCLUDE_MTD_I28F016#define INCLUDE_MTD_I28F008#define INCLUDE_MTD_AMD#undef  INCLUDE_MTD_CFISCS#undef  INCLUDE_MTD_WAMD#define INCLUDE_TL_FTL#undef  INCLUDE_TL_SSFDC       #undef	INCLUDE_SOCKET_DOC		/* DOC socket interface */#define	INCLUDE_SOCKET_PCIC0		/* PCIC socket interface 0 */#define	INCLUDE_SOCKET_PCIC1		/* PCIC socket interface 1 */#define INCLUDE_TFFS_BOOT_IMAGE		/* include tffsBootImagePut() */#define	WINDOW_ID	0		/* PCIC window used (0-4) */#define	VPP_DELAY_MSEC	100		/* Millisecs to wait for Vpp ramp up */#define	DOC2_SCAN_ADRS_0 0xc8000	/* start of mem range to scan for DOC2 */#define	DOC2_SCAN_ADRS_1 0xf0000	/* end of mem range to scan for DOC2 */#define	PC_BASE_ADRS_0	0xd8000		/* base addr for socket 0 */#define	PC_BASE_ADRS_1	0xda000		/* base addr for socket 1 */#define KILL_TIME_FUNC	 ((iz * iz) / (iz + iz)) / ((iy + iz) / (iy * iz))#define PC_WINDOW	1		/* PCIC window no. used by TFFS */#define PC_EXTRAWS	1		/* PCIC wait state used by TFFS */#define PC_SOCKET_NAME_DOC "DOC"	/* DOC socket name for DOC */#define PC_SOCKET_NAME_0 "PCMCIA-0"	/* PCIC socket name for socket 0 */#define PC_SOCKET_NAME_1 "PCMCIA-1"	/* PCIC socket name for socket 1 *//* externs */#ifdef INCLUDE_SOCKET_DOCIMPORT unsigned windowBaseAddress (unsigned driveNo, unsigned long startAddr,                                   unsigned long endAddr);   /* nfdc2148.c */#endif /* INCLUDE_SOCKET_DOC */IMPORT PCMCIA_CTRL pcmciaCtrl;/* globals */char pcDriveNo[2] = {NONE, NONE};	/* drive number of the sockets *//* locals */LOCAL UINT32 sysTffsMsecLoopCount = 0;	/* loop count to consume milli sec */#ifndef	INCLUDE_PCMCIALOCAL FLMutex flPcicMutex = NULL;	/* protects PCIC register access  */                                        /* in multi-threaded environments */#endif	/* INCLUDE_PCMCIA *//* forward declarations */#ifdef	INCLUDE_SOCKET_DOCLOCAL FLStatus		docRegister (void);LOCAL unsigned		docWindowBaseAddress (unsigned driveNo);LOCAL FLBoolean		docCardDetected (FLSocket vol);LOCAL void		docVccOn (FLSocket vol);LOCAL void		docVccOff (FLSocket vol);#ifdef	SOCKET_12_VOLTSLOCAL FLStatus		docVppOn (FLSocket vol);LOCAL void		docVppOff (FLSocket vol);#endif	/* SOCKET_12_VOLTS */LOCAL FLStatus		docInitSocket (FLSocket vol);LOCAL void		docSetWindow (FLSocket vol);LOCAL void		docSetMappingContext (FLSocket vol, unsigned page);LOCAL FLBoolean		docGetAndClearCardChangeIndicator (FLSocket vol);LOCAL FLBoolean		docWriteProtected (FLSocket vol);#ifdef	EXITLOCAL void		docFreeSocket (FLSocket vol);#endif	/* EXIT */#endif	/* INCLUDE_SOCKET_DOC */#if	defined (INCLUDE_SOCKET_PCIC0) || defined (INCLUDE_SOCKET_PCIC1)LOCAL FLStatus		pcRegister (int socketNo, unsigned int baseAddress);#ifndef	INCLUDE_PCMCIALOCAL unsigned char	flInportb (unsigned portId);LOCAL void		flOutportb (unsigned portId, unsigned char value);LOCAL unsigned char	get365 (FLSocket vol, unsigned char reg);LOCAL void		set365 (FLSocket vol, unsigned char reg, 				unsigned char value);#endif	/* INCLUDE_PCMCIA */LOCAL FLBoolean		pcCardDetected (FLSocket vol);LOCAL void		pcVccOn (FLSocket vol);LOCAL void		pcVccOff (FLSocket vol);#ifdef	SOCKET_12_VOLTSLOCAL FLStatus		pcVppOn (FLSocket vol);LOCAL void		pcVppOff (FLSocket vol);#endif	/* SOCKET_12_VOLTS */LOCAL FLStatus		pcInitSocket (FLSocket vol);LOCAL void		pcSetWindow (FLSocket vol);LOCAL void		pcSetMappingContext (FLSocket vol, unsigned page);LOCAL FLBoolean		pcGetAndClearCardChangeIndicator (FLSocket vol);LOCAL FLBoolean		pcWriteProtected (FLSocket vol);#ifdef	EXITLOCAL void		pcFreeSocket (FLSocket vol);#endif	/* EXIT */#endif	/* defined (INCLUDE_SOCKET_PCIC0) || defined (INCLUDE_SOCKET_PCIC1) */#ifndef DOC#include "tffs/tffsConfig.c"#endif /* DOC *//********************************************************************************* sysTffsInit - board level initialization for TFFS** This routine calls the socket registration routines for the socket component* drivers that will be used with this BSP. The order of registration signifies* the logical drive number given to the drive associated with the socket.** RETURNS: N/A*/LOCAL void sysTffsInit (void)    {    UINT32 ix = 0;    UINT32 iy = 1;    UINT32 iz = 2;    int oldTick;    /* we assume followings:     *   - no interrupts except timer is happening.     *   - the loop count that consumes 1 msec is in 32 bit.     * it should be done in the early stage of usrRoot() in tffsDrv().  */    oldTick = tickGet();    while (oldTick == tickGet())	/* wait for next clock interrupt */	;    oldTick = tickGet();    while (oldTick == tickGet())	/* loop one clock tick */	{	iy = KILL_TIME_FUNC;		/* consume time */	ix++;				/* increment the counter */	}        sysTffsMsecLoopCount = ix * sysClkRateGet() / 1000;#ifdef	INCLUDE_SOCKET_DOC    (void) docRegister ();			/* Disk On Chip */#endif	/* INCLUDE_SOCKET_DOC */#ifdef	INCLUDE_SOCKET_PCIC0    (void) pcRegister (0, PC_BASE_ADRS_0);	/* flash card on socket 0 */#endif	/* INCLUDE_SOCKET_PCIC0 */#ifdef	INCLUDE_SOCKET_PCIC1    (void) pcRegister (1, PC_BASE_ADRS_1);	/* flash card on socket 1 */#endif	/* INCLUDE_SOCKET_PCIC1 */    }#ifdef	INCLUDE_SOCKET_DOC/********************************************************************************* docRegister - registration routine for M-Systems Disk On Chip (DOC) *		socket component driver** This routine populates the 'vol' structure for a logical drive with the* socket component driver routines for the M-System DOC. All socket routines* are referanced through the 'vol' structure and never from here directly** RETURNS: flOK, or flTooManyComponents if there're too many drives,*                or flAdapterNotFound if there's no controller.*/LOCAL FLStatus docRegister (void)    {    FLSocket vol;    if (noOfDrives >= DRIVES)        return (flTooManyComponents);    pVol = flSocketOf (noOfDrives);    vol.window.baseAddress =	docWindowBaseAddress (vol.volNo);    if (vol.window.baseAddress == 0)        return (flAdapterNotFound);    vol.cardDetected =		docCardDetected;    vol.VccOn =			docVccOn;    vol.VccOff =		docVccOff;#ifdef SOCKET_12_VOLTS    vol.VppOn =			docVppOn;    vol.VppOff =		docVppOff;#endif    vol.initSocket =		docInitSocket;    vol.setWindow =		docSetWindow;    vol.setMappingContext =	docSetMappingContext;    vol.getAndClearCardChangeIndicator = docGetAndClearCardChangeIndicator;    vol.writeProtected =	docWriteProtected;#ifdef EXIT    vol.freeSocket =		docFreeSocket;#endif    tffsSocket[noOfDrives] = PC_SOCKET_NAME_DOC;    noOfDrives++;    return (flOK);    } /********************************************************************************* docWindowBaseAddress - Return the host base address of the DOC2 window** This routine Return the host base address of the window.* It scans the host address range from DOC2_SCAN_ADRS_0 to DOC2_SCAN_ADRS_1* (inclusive) attempting to identify DiskOnChip 2000 memory window.** RETURNS: Host physical address of window divided by 4 KB*/LOCAL unsigned docWindowBaseAddress    (    unsigned driveNo		/* drive number */    )    {    return (windowBaseAddress (driveNo, DOC2_SCAN_ADRS_0, DOC2_SCAN_ADRS_1));    }/********************************************************************************* docCardDetected - detect if a card is present (inserted)** This routine detects if a card is present (inserted).** RETURNS: TRUE, or FALSE if the card is not present.*/LOCAL FLBoolean docCardDetected    (    FLSocket vol		/* pointer identifying drive */    )    {    return (TRUE);    }/********************************************************************************* docVccOn - turn on Vcc (3.3/5 Volts)** This routine turns on Vcc (3.3/5 Volts).  Vcc must be known to be good* on exit.** RETURNS: N/A*/LOCAL void docVccOn    (    FLSocket vol		/* pointer identifying drive */    )    {    }/********************************************************************************* docVccOff - turn off Vcc (3.3/5 Volts)** This routine turns off Vcc (3.3/5 Volts). ** RETURNS: N/A*/LOCAL void docVccOff    (    FLSocket vol		/* pointer identifying drive */    )    {    }#ifdef SOCKET_12_VOLTS/********************************************************************************* docVppOn - turns on Vpp (12 Volts)** This routine turns on Vpp (12 Volts). Vpp must be known to be good on exit.** RETURNS: flOK always*/LOCAL FLStatus docVppOn    (    FLSocket vol		/* pointer identifying drive */    )    {    return (flOK);    }/********************************************************************************* docVppOff - turns off Vpp (12 Volts)** This routine turns off Vpp (12 Volts).** RETURNS: N/A*/LOCAL void docVppOff    (    FLSocket vol		/* pointer identifying drive */    )    {    }#endif	/* SOCKET_12_VOLTS *//********************************************************************************* docInitSocket - perform all necessary initializations of the socket** This routine performs all necessary initializations of the socket.** RETURNS: flOK always*/LOCAL FLStatus docInitSocket    (    FLSocket vol		/* pointer identifying drive */    )    {    return (flOK);    }/********************************************************************************* docSetWindow - set current window attributes, Base address, size, etc** This routine sets current window hardware attributes: Base address, size,* speed and bus width.  The requested settings are given in the 'vol.window' * structure.  If it is not possible to set the window size requested in* 'vol.window.size', the window size should be set to a larger value, * if possible. In any case, 'vol.window.size' should contain the * actual window size (in 4 KB units) on exit.** RETURNS: N/A*/LOCAL void docSetWindow    (    FLSocket vol		/* pointer identifying drive */    )    {    }/********************************************************************************* docSetMappingContext - sets the window mapping register to a card address** This routine sets the window mapping register to a card address.* The window should be set to the value of 'vol.window.currentPage',* which is the card address divided by 4 KB. An address over 128MB,* (page over 32K) specifies an attribute-space address. On entry to this * routine vol.window.currentPage is the page already mapped into the window.* (In otherwords the page that was mapped by the last call to this routine.)** The page to map is guaranteed to be on a full window-size boundary.** RETURNS: N/A*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情免费电影网址| 2021中文字幕一区亚洲| 日韩天堂在线观看| 椎名由奈av一区二区三区| 日产国产高清一区二区三区 | 色综合中文字幕国产 | 日韩欧美资源站| 亚洲天堂中文字幕| 国产乱码字幕精品高清av | 国产精品99久久久久久宅男| 欧美综合天天夜夜久久| 国产精品系列在线| 国产精品69久久久久水密桃 | 日本中文一区二区三区| 91天堂素人约啪| 日本一区二区三区久久久久久久久不| 777久久久精品| 亚洲人成在线播放网站岛国| 国产精品原创巨作av| 日韩女优av电影| 天天综合网 天天综合色| 日本高清无吗v一区| 国产精品美女久久久久久2018| 国产精品美女一区二区三区| 另类专区欧美蜜桃臀第一页| 欧美精品一二三| 无吗不卡中文字幕| 69堂亚洲精品首页| 日本 国产 欧美色综合| 91麻豆精品国产91久久久久| 亚洲国产精品久久艾草纯爱| 欧美伊人久久大香线蕉综合69| 欧美专区亚洲专区| 亚洲一区在线播放| 欧美日韩在线精品一区二区三区激情| 69p69国产精品| 五月婷婷色综合| 91精品国产入口| 美国毛片一区二区三区| 日韩欧美一级在线播放| 青青草成人在线观看| 日韩亚洲欧美中文三级| 美女www一区二区| 国产视频一区在线播放| 国产69精品久久久久毛片| 国产精品毛片高清在线完整版| 亚洲成人免费在线观看| 欧美人与z0zoxxxx视频| 久久国产精品露脸对白| 欧美极品美女视频| av亚洲精华国产精华| 一区二区三区日韩在线观看| 欧美午夜不卡在线观看免费| 视频一区在线播放| 日韩精品一区二区在线观看| 国产大陆a不卡| 亚洲蜜臀av乱码久久精品| 欧美日韩一区国产| 国产一区二三区好的| ...xxx性欧美| 91精品国产综合久久精品麻豆| 亚洲嫩草精品久久| 欧美一级片在线观看| 成人精品免费看| 亚洲国产日产av| 国产日韩精品一区二区三区在线| 舔着乳尖日韩一区| 日本一区二区三区久久久久久久久不| 婷婷丁香久久五月婷婷| 国产日韩欧美制服另类| 色成人在线视频| 韩日精品视频一区| 亚洲一区在线免费观看| 国产日韩精品一区二区浪潮av | 中文字幕在线观看不卡| 欧美色视频一区| 成人综合在线视频| 日本在线观看不卡视频| 国产欧美精品一区二区色综合 | 亚洲国产精品久久人人爱| 精品欧美久久久| 欧美日韩国产综合一区二区三区| 中文字幕在线不卡一区二区三区| 国产精品香蕉一区二区三区| 亚洲自拍偷拍综合| 国产亚洲欧美日韩在线一区| 欧美精品在线观看播放| 色综合一区二区| 国产99久久久国产精品| 麻豆久久久久久| 午夜久久久久久| 一区二区三区四区视频精品免费| 91久久奴性调教| 成人黄色软件下载| 国产精品一区二区久久精品爱涩 | 欧美一区二区日韩| 在线观看日韩av先锋影音电影院| 亚洲麻豆国产自偷在线| 国产欧美日产一区| 国产亚洲欧美一区在线观看| 日韩欧美亚洲一区二区| 91影院在线免费观看| 成人少妇影院yyyy| 国产成人亚洲综合a∨猫咪| 精品在线播放免费| 久久超级碰视频| 九色|91porny| 黄页网站大全一区二区| 男人的天堂久久精品| 日韩不卡手机在线v区| 午夜电影一区二区| 日韩精品视频网站| 久久精品国产久精国产| 蜜臀av性久久久久蜜臀aⅴ| 免费精品99久久国产综合精品| 久久新电视剧免费观看| 欧美r级电影在线观看| 精品国产一二三| 欧美一区二区人人喊爽| 91精品国产欧美一区二区| 7777精品久久久大香线蕉| 7777女厕盗摄久久久| 91精品国产综合久久久蜜臀粉嫩 | 日本不卡一区二区三区| 青青草国产成人av片免费| 日韩成人伦理电影在线观看| 日韩成人精品视频| 精品一区二区三区在线观看国产| 国产精品国产三级国产三级人妇| 在线视频你懂得一区| 色94色欧美sute亚洲线路一ni| 久久国产欧美日韩精品| 国产成人福利片| 91麻豆免费观看| 欧洲一区在线观看| 91麻豆精品91久久久久久清纯| 成人福利视频在线| 欧美在线你懂的| 欧美成人乱码一区二区三区| 国产日产欧美一区二区视频| 亚洲精品欧美专区| 美女爽到高潮91| 99免费精品在线| 91麻豆精品国产自产在线观看一区 | 亚洲电影在线免费观看| 免费成人美女在线观看| 成人黄色国产精品网站大全在线免费观看 | 国产午夜精品一区二区| 亚洲精品成人精品456| 亚洲大尺度视频在线观看| 久久97超碰国产精品超碰| 91色porny| 久久先锋资源网| 亚洲动漫第一页| 成人深夜在线观看| 欧美xxxxxxxx| 亚洲午夜电影在线观看| 国产麻豆精品95视频| 欧美午夜在线一二页| 久久精品夜色噜噜亚洲aⅴ| 一区二区三区不卡在线观看| 韩国欧美国产1区| 欧美理论片在线| 国产精品电影一区二区| 久久国产福利国产秒拍| 91福利视频网站| 国产精品国产自产拍在线| 国产专区欧美精品| 欧美日韩精品一区二区三区四区| 欧美亚洲一区三区| 亚洲欧洲三级电影| 久草精品在线观看| 欧美一区二区福利视频| 一区二区三区在线影院| 成人综合日日夜夜| 亚洲精品在线观看网站| 亚洲国产乱码最新视频 | 91精品一区二区三区在线观看| 91免费国产在线| 精品播放一区二区| 视频在线观看一区二区三区| 在线观看日韩精品| 樱桃国产成人精品视频| 91在线视频网址| 亚洲视频在线一区观看| 成人免费毛片app| 国产欧美日韩精品在线| 国产一区二区三区| 久久一日本道色综合| 激情小说亚洲一区| 日韩欧美亚洲一区二区| 麻豆久久久久久| 26uuu另类欧美亚洲曰本| 久久国产免费看| 久久综合久久久久88| 美腿丝袜亚洲色图| 精品国产乱码久久久久久闺蜜| 欧美国产97人人爽人人喊| 国产成人av电影在线播放| 久久久青草青青国产亚洲免观|