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

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

?? systffs.c

?? vxorks平臺下
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* sysTffsStub.c - BSP stub for TrueFFS Socket Component Driver *//* Copyright 1984-2000 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01e,22may02,nrv  Adding INCLUDE_MTD_CFIAMD01d,13nov01,nrv  made use of PRJ_BUILD01c,09nov01,nrv  merging in T3 version with some cleanup01b,14dec00,yp   Documentation cleanup01a,29nov00,yp   derived from ads860 sysTffs.c 01j.*//*This stub file provides the user with the means to create a TrueFFS compliant socket component driver for use with any BSP. This is sample code and it isexpected, even required, to be modified after it is added to a BSP by the project facility when the component INCLUDE_TFFS is added to a kernel project.Look for #error and TODO statements in the sample code.This stub does not provides code, just some procedural macros that thegeneric driver code will use.DESCRIPTIONThis library must provide board-specific hardware access routines for TrueFFS.In effect, these routines comprise the socket component driver (or drivers)for your flash device.  At socket registration time, TrueFFS storesthe functions provided by this socket component driver in an 'FLSocket'structure.  When TrueFFS needs to access the flash device, it uses thesefunctions.  Because this file is, for the most part, a device driver that exports itsfunctionality by registering function pointers with TrueFFS, very few of thefunctions defined here are externally callable.  For the record, the onlyexternal functions are flFitInSocketWindow() and flDelayLoop(), and you shouldnever have to call them. However, one of the most important functions defined in this file is neitherreferenced in an 'FLSocket' structure, nor is it externally callable.  Thisfunction is sysTffsInit() and it should only be called by TrueFFS.  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 mayformat 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,BSP-specific helper routine thatcan be called externally. Internally, sysTffsFormat() calls tffsDevFormat() with a pointer to a 'FormatParams' structure that is 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 bootimages because the normal translation and wear-leveling services of TrueFFSare incompatible with the needs of the boot program and the boot image itrelies upon.  To write a boot image (or any other data) into this area,use tffsBootImagePut().  The function sysTffsFormat() is only provided when a Flash SIMM has to have the TrueFFS file system in some desired fraction of it. It is provided only for the purpose of simplifying the process of formatting a Flash part that that should be subdivided.The Flash SIMM might also be referred to as RFA (Resident Flash Array) in the following text.Example implentations of sysTffs.c can be found in the directory    $(WIND_BASE)/target/src/drv/tffs/socketsThe files sds860-sysTffs.c and pc386-sysTffs.c have support for single and dual socketed PCMCIA devices as well if that might be useful to you. They both support multiple sockets.Finally, this file also contains define statements for symbolic constantsthat determine which MTDs, translation layer modules, and other utilitiesare ultimately included in TrueFFS.  These defines are as follows:.IP "INCLUDE_TL_FTL"To include the NOR-based translation layer module..IP "INCLUDE_TL_SSFDC"To include the SSFDC-appropriate translation layer module..IP "INCLUDE_MTD_I28F016"For Intel 28f016 flash devices..IP "INCLUDE_MTD_I28F008"For Intel 28f008 flash devices..IP "INCLUDE_MTD_I28F008_BAJA"For Intel 28f008 flash devices on the Heurikon Baja 4700..IP "INCLUDE_MTD_AMD"For AMD, Fujitsu: 29F0{40,80,16} 8-bit flash devices..IP "INCLUDE_MTD_CFIAMD"For CFI compliant AMD, Fujitsu flash devices..IP "INCLUDE_MTD_CFISCS"For CFI/SCS flash devices..IP "INCLUDE_MTD_WAMD"For AMD, Fujitsu 29F0{40,80,16} 16-bit flash devices..IP "INCLUDE_TFFS_BOOT_IMAGE"To include tffsBootImagePut() in TrueFFS for Tornado..LPTo exclude any of the modules mentioned above, edit sysTffs.c and undefineits associated symbolic constant.INCLUDE FILES: flsocket.h, tffsDrv.h*/#error "sysTffs : Verify system macros and function before first use"/* includes */#include "vxWorks.h"#include "taskLib.h"#include "config.h"#include "tffs/flsocket.h"#include "tffs/tffsDrv.h"/* defines */#ifndef PRJ_BUILD#define INCLUDE_MTD_I28F016             /* Intel: 28f016 */#define INCLUDE_MTD_I28F008             /* Intel: 28f008 */#define INCLUDE_MTD_AMD                 /* AMD, Fujitsu: 29f0{40,80,16} 8bit */#undef  INCLUDE_MTD_CFIAMD              /* CFI driver for AMD Flash Part */#undef  INCLUDE_MTD_CFISCS              /* CFI/SCS */#undef  INCLUDE_MTD_WAMD                /* AMD, Fujitsu: 29f0{40,80,16} 16bit */#define INCLUDE_TL_FTL                  /* FTL translation layer */#undef  INCLUDE_TL_SSFDC                /* SSFDC translation layer */#define INCLUDE_SOCKET_SIMM             /* SIMM socket interface */#define INCLUDE_SOCKET_PCMCIA           /* PCMCIA socket interface */#endif  /* PRJ_BUILD *//* TODO :  * If you don't use TrueFFS to write your boot image you might want * to undefine this. */#define INCLUDE_TFFS_BOOT_IMAGE		/* include tffsBootImagePut() *//* TODO :  * set these to board specific values. * The values used here are fictional. */#define	FLASH_BASE_ADRS		0x02800000	/* Flash memory base address */#define	FLASH_SIZE		0x00200000	/* Flash memory size */#define VCC_DELAY_MSEC		100	/* Millisecs to wait for Vcc ramp up */#define VPP_DELAY_MSEC		100	/* Millisecs to wait for Vpp ramp up */#define KILL_TIME_FUNC	 ((iz * iz) / (iz + iz)) / ((iy + iz) / (iy * iz))/* locals */LOCAL UINT32 sysTffsMsecLoopCount = 0;/* forward declarations */LOCAL FLBoolean		rfaCardDetected (FLSocket vol);LOCAL void		rfaVccOn (FLSocket vol);LOCAL void		rfaVccOff (FLSocket vol);#ifdef	SOCKET_12_VOLTSLOCAL FLStatus		rfaVppOn (FLSocket vol);LOCAL void		rfaVppOff (FLSocket vol);#endif	/* SOCKET_12_VOLTS */LOCAL FLStatus		rfaInitSocket (FLSocket vol);LOCAL void		rfaSetWindow (FLSocket vol);LOCAL void		rfaSetMappingContext (FLSocket vol, unsigned page);LOCAL FLBoolean		rfaGetAndClearCardChangeIndicator (FLSocket vol);LOCAL FLBoolean		rfaWriteProtected (FLSocket vol);LOCAL void		rfaRegister (void);#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 assigned 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 is 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;    /* TODO:     * Call each sockets register routine here     */    rfaRegister ();			/* RFA socket interface register */    }/********************************************************************************* rfaRegister - install routines for the Flash RFA** This routine installs necessary functions for the Resident Flash Array(RFA).** RETURNS: N/A*/LOCAL void rfaRegister (void)    {    FLSocket vol = flSocketOf (noOfDrives);    tffsSocket[noOfDrives] =	"RFA";    vol.window.baseAddress =	FLASH_BASE_ADRS >> 12;    vol.cardDetected =		rfaCardDetected;    vol.VccOn =			rfaVccOn;    vol.VccOff =		rfaVccOff;#ifdef SOCKET_12_VOLTS    vol.VppOn =			rfaVppOn;    vol.VppOff =		rfaVppOff;#endif    vol.initSocket =		rfaInitSocket;    vol.setWindow =		rfaSetWindow;    vol.setMappingContext =	rfaSetMappingContext;    vol.getAndClearCardChangeIndicator = rfaGetAndClearCardChangeIndicator;    vol.writeProtected =	rfaWriteProtected;    noOfDrives++;    }/********************************************************************************* rfaCardDetected - detect if a card is present (inserted)** This routine detects if a card is present (inserted).* Always return TRUE in RFA environments since device is not removable.** RETURNS: TRUE, or FALSE if the card is not present.*/LOCAL FLBoolean rfaCardDetected    (    FLSocket vol		/* pointer identifying drive */    )    {    return (TRUE);    }/********************************************************************************* rfaVccOn - 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. Assumed to be ON constantly in RFA environment.** RETURNS: N/A*/LOCAL void rfaVccOn    (    FLSocket vol		/* pointer identifying drive */    )    {    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品免费在线观看| 国产不卡在线播放| 欧美日韩免费视频| 亚洲成a人片在线观看中文| 色婷婷综合久色| 亚洲第一成人在线| 制服丝袜亚洲播放| 久久99国内精品| 亚洲国产精品精华液ab| 色综合一区二区| 五月激情综合色| 日韩久久久久久| 成人毛片老司机大片| 樱花影视一区二区| 欧美绝品在线观看成人午夜影视| 美女诱惑一区二区| 国产欧美日韩三级| 在线精品观看国产| 国产一区在线精品| 亚洲美女免费视频| 欧美一区二区免费视频| 国产精品911| 亚洲夂夂婷婷色拍ww47| 欧美成人激情免费网| 成人av免费在线播放| 亚洲第一精品在线| 国产日韩高清在线| 欧美日韩国产在线观看| 国产在线麻豆精品观看| 一区二区三区在线免费视频 | 国产日韩欧美a| 91在线丨porny丨国产| 日韩va欧美va亚洲va久久| 久久久久久日产精品| 欧美亚洲综合网| 国产一区二区免费视频| 亚洲成人一二三| 欧美国产国产综合| 91精品国产全国免费观看| 成人h动漫精品| 热久久国产精品| 亚洲女同女同女同女同女同69| 日韩三级免费观看| 欧美午夜理伦三级在线观看| 国产成人8x视频一区二区| 亚洲国产成人tv| 中文字幕五月欧美| 2022国产精品视频| 欧美精品电影在线播放| 色呦呦网站一区| 国产精品99久久久久久久女警| 日韩av午夜在线观看| 亚洲另类在线一区| 中文字幕精品一区| 久久久久久亚洲综合| 欧美变态tickle挠乳网站| 欧美伊人久久大香线蕉综合69| av一二三不卡影片| 成人蜜臀av电影| 91视频观看免费| 国产精品69久久久久水密桃| 日韩av中文字幕一区二区三区| 亚洲黄色小说网站| 中文字幕字幕中文在线中不卡视频| 欧美大片一区二区| 欧美xxxxxxxxx| 日韩免费高清视频| 欧美成人女星排名| 日韩三级精品电影久久久| 欧美一区二区三区思思人| 欧美日韩国产免费| 欧美日韩极品在线观看一区| 欧美撒尿777hd撒尿| 在线中文字幕一区二区| 日本福利一区二区| 欧美性视频一区二区三区| 91老师片黄在线观看| 91老师片黄在线观看| 99精品国产99久久久久久白柏| 成人小视频在线| 99热这里都是精品| 色88888久久久久久影院野外| 99久久99久久综合| 日本高清成人免费播放| 欧美专区在线观看一区| 欧美日本国产视频| 在线成人午夜影院| 精品国产一区二区亚洲人成毛片| 精品久久久久久久久久久久久久久| 日韩欧美一区在线| 久久亚洲一级片| 国产精品美日韩| 亚洲欧美另类小说| 亚洲v日本v欧美v久久精品| 午夜精品久久久久久久久久| 五月天丁香久久| 国产精品亚洲成人| 色综合中文字幕| 91.xcao| 亚洲精品一区在线观看| 国产精品欧美经典| 亚洲成人av福利| 韩国精品久久久| 91免费看片在线观看| 7777精品伊人久久久大香线蕉完整版 | 国产视频一区二区在线| 亚洲男同性恋视频| 日韩综合在线视频| 夫妻av一区二区| 欧美日韩免费高清一区色橹橹| 日韩欧美激情四射| 国产精品毛片大码女人| 日韩制服丝袜先锋影音| 国产成人精品免费在线| 欧美午夜片在线看| 久久久蜜桃精品| 亚洲成人午夜电影| 欧美在线影院一区二区| 欧美大度的电影原声| 亚洲欧洲性图库| 久久精品国产亚洲5555| 一本色道亚洲精品aⅴ| 久久综合色8888| 亚洲成av人**亚洲成av**| 国产成人夜色高潮福利影视| 在线观看视频91| 国产精品午夜电影| 免费观看91视频大全| 色综合久久综合网| 国产欧美日韩另类一区| 日韩成人一级大片| 91国在线观看| 国产精品久久久久9999吃药| 老色鬼精品视频在线观看播放| 99久久精品国产麻豆演员表| 欧美变态口味重另类| 天天综合天天综合色| 91美女在线观看| 久久久久久久久久看片| 日韩福利视频导航| 欧美性色综合网| 亚洲欧洲性图库| 成人激情动漫在线观看| 精品日韩99亚洲| 日韩av电影免费观看高清完整版 | 欧美激情资源网| 精品无人码麻豆乱码1区2区 | 国产一区二区三区免费看| 欧美日韩成人综合| 一区二区三区国产精品| 99久久夜色精品国产网站| 久久综合色综合88| 久久电影网站中文字幕| 欧美久久久久免费| 五月天激情综合网| 欧美午夜不卡视频| 一个色综合网站| 色欧美日韩亚洲| 一卡二卡三卡日韩欧美| 91久久精品国产91性色tv| 亚洲欧美国产三级| 99国产精品久久久久久久久久久| 精品国产一区二区在线观看| 精品一区二区综合| 精品国产免费视频| 狠狠色综合播放一区二区| 精品久久久久一区| 国产麻豆9l精品三级站| 久久久久国产精品麻豆ai换脸| 国产最新精品精品你懂的| 精品久久久久久久久久久久久久久 | 成人小视频免费在线观看| 国产三级欧美三级| 成人综合婷婷国产精品久久免费| 国产午夜精品理论片a级大结局| 极品美女销魂一区二区三区| 欧美www视频| 国产99一区视频免费| 综合激情网...| 欧美综合天天夜夜久久| 丝袜亚洲另类欧美| 欧美一级免费大片| 国产在线精品不卡| 欧美国产日韩一二三区| 色中色一区二区| 五月综合激情日本mⅴ| 欧美二区乱c少妇| 加勒比av一区二区| 国产精品女同互慰在线看| 色综合久久久久综合体| 午夜视频一区二区三区| 日韩精品一区二| www.欧美日韩国产在线| 亚洲一卡二卡三卡四卡五卡| 在线91免费看| 丁香一区二区三区| 亚洲高清视频的网址| 久久人人97超碰com| 91欧美激情一区二区三区成人| 亚洲一区av在线|