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

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

?? systffs.c

?? vxwork arm920 bsp開發包
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* sysTffs.c - ARM integrator TrueFFS Socket Component Driver *//* Copyright 1984-2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01d,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_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#undef  INCLUDE_MTD_I28F016             /* Intel: 28f016 */#undef  INCLUDE_MTD_I28F008             /* Intel: 28f008 */#undef  INCLUDE_MTD_AMD                 /* AMD, Fujitsu: 29f0{40,80,16} 8bit */#define 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 */#undef INCLUDE_SOCKET_SIMM             /* SIMM socket interface */#undef INCLUDE_SOCKET_PCMCIA           /* PCMCIA socket interface */#endif  /* PRJ_BUILD */#define INCLUDE_TFFS_BOOT_IMAGE		/* include tffsBootImagePut() */#define	FLASH_BASE_ADRS		FLASH_BASE	/* Flash memory base address */#undef FLASH_SIZE#define	FLASH_SIZE		0x01000000	/* 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;    /* by default you can not write to flash so we enable writing now */    sysFlashWriteEnable();    /* 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 */    )    {    }/********************************************************************************* rfaVccOff - turn off Vcc (3.3/5 Volts)** This routine turns off Vcc (3.3/5 Volts) (PCMCIA). Assumed to be ON 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人高清视频免费观看| 国产日产欧美精品一区二区三区| 成人白浆超碰人人人人| 国产老妇另类xxxxx| 免费精品视频最新在线| 日本不卡一区二区| 蜜臀久久99精品久久久久宅男| 亚洲韩国一区二区三区| 亚洲影院理伦片| 亚洲一区二区三区影院| 亚洲一区二区三区三| 天天操天天色综合| 男男视频亚洲欧美| 经典一区二区三区| 国产精品系列在线观看| 成av人片一区二区| 色菇凉天天综合网| 欧美日韩成人在线| 精品三级在线看| 欧美激情在线观看视频免费| 国产日产欧美一区二区三区| 中文字幕在线播放不卡一区| 亚洲三级电影网站| 亚洲一区二区三区小说| 奇米精品一区二区三区在线观看一| 麻豆精品一区二区三区| 国产一区 二区 三区一级| 成人激情免费电影网址| 日本福利一区二区| 制服丝袜成人动漫| 亚洲精品在线免费观看视频| 久久精品人人做| 亚洲另类在线视频| 日韩电影在线一区二区三区| 日韩精品久久久久久| 精品一区二区在线免费观看| 成人精品高清在线| 欧美日韩国产在线观看| www国产精品av| 亚洲免费在线看| 奇米在线7777在线精品| 成人一道本在线| 欧美日韩国产一级片| 精品久久久久久久久久久久久久久久久| 亚洲一区二区欧美激情| 婷婷综合久久一区二区三区| 国模一区二区三区白浆| 91一区在线观看| 欧美变态凌虐bdsm| 亚洲免费毛片网站| 国内精品自线一区二区三区视频| 91亚洲国产成人精品一区二三| 欧美欧美欧美欧美| 国产精品理论片| 日韩二区三区四区| av不卡在线播放| 欧美电影免费观看高清完整版在 | 精品国产免费一区二区三区四区| 久久亚洲捆绑美女| 亚洲一区二区影院| 国产v日产∨综合v精品视频| 欧美日韩日日夜夜| 国产精品久久久久久久久搜平片 | 国模无码大尺度一区二区三区| 91在线精品一区二区三区| 欧美一级专区免费大片| 亚洲天堂福利av| 狠狠色综合色综合网络| 欧美日韩情趣电影| 亚洲精品写真福利| 成人精品一区二区三区四区 | 一区二区三区高清在线| 国产麻豆欧美日韩一区| 欧美老年两性高潮| 亚洲免费在线电影| 成人妖精视频yjsp地址| 精品卡一卡二卡三卡四在线| 亚洲免费在线观看视频| 国产精品99久| 日韩女优制服丝袜电影| 亚洲第一狼人社区| 色激情天天射综合网| 国产精品久久777777| 麻豆91免费观看| 欧美日韩精品一区二区三区四区| 亚洲欧洲av在线| 高潮精品一区videoshd| 精品久久久久久无| 久久精品99久久久| 日韩欧美国产麻豆| 欧美aaa在线| 精品污污网站免费看| 亚洲品质自拍视频| 91蜜桃视频在线| 中文字幕一区不卡| 成人18视频日本| 国产精品私人自拍| 高清不卡在线观看| 国产精品天天摸av网| 国产精品夜夜嗨| 久久麻豆一区二区| 国产一区二区网址| 久久久国际精品| 国产91在线|亚洲| 国产日产精品一区| 福利一区在线观看| 国产精品免费aⅴ片在线观看| 国产一区美女在线| 国产亚洲一区字幕| 国产精品456| 中文字幕va一区二区三区| 成人在线综合网| 亚洲视频电影在线| 欧美日韩免费在线视频| 日本系列欧美系列| 日韩一区二区不卡| 激情综合网天天干| 国产日韩欧美精品综合| 懂色av一区二区夜夜嗨| 国产精品二三区| 欧美中文字幕一二三区视频| 婷婷开心激情综合| 欧美成人高清电影在线| 国产一区二区免费在线| 国产精品无圣光一区二区| 91日韩一区二区三区| 亚洲第一福利一区| 日韩一级片网址| 国产乱人伦精品一区二区在线观看 | 欧美性xxxxx极品少妇| 亚洲国产美女搞黄色| 日韩一二三区不卡| 国产精品综合av一区二区国产馆| 国产嫩草影院久久久久| av在线播放不卡| 亚洲夂夂婷婷色拍ww47| 欧美精品久久久久久久多人混战| 青娱乐精品在线视频| 久久综合九色综合97_久久久| 成人精品一区二区三区中文字幕 | 不卡一卡二卡三乱码免费网站| 最新不卡av在线| 欧美精品三级在线观看| 国产一区在线看| 一区二区理论电影在线观看| 国产精品视频免费看| 91国产丝袜在线播放| 免费视频一区二区| 国产精品日日摸夜夜摸av| 欧美日韩另类国产亚洲欧美一级| 久久av老司机精品网站导航| 国产精品福利一区| 日韩一区和二区| 99re8在线精品视频免费播放| 亚洲成人黄色影院| 欧美激情在线观看视频免费| 欧美三级日韩在线| 国产成人精品一区二| 亚洲成人免费av| 欧美激情一区三区| 欧美老年两性高潮| 97久久久精品综合88久久| 日韩av高清在线观看| 中文字幕日韩精品一区| 欧美成人精品3d动漫h| 亚洲婷婷综合久久一本伊一区 | 另类小说欧美激情| 国产成人在线视频网址| 久久综合久色欧美综合狠狠| 欧美一级理论性理论a| 久久久电影一区二区三区| 中文字幕在线观看不卡| 亚洲一区二区三区在线播放| 美国欧美日韩国产在线播放| 5566中文字幕一区二区电影| 国产日韩精品一区二区浪潮av | 日韩精品中文字幕在线不卡尤物| 99久久综合国产精品| 久久er精品视频| 午夜婷婷国产麻豆精品| 国产精品高清亚洲| 久久久久久影视| 日韩一区二区精品在线观看| 在线免费观看一区| 成人av午夜影院| 国产麻豆精品在线| 久久爱www久久做| 午夜精品福利一区二区三区av| 中文字幕一区二区三区视频| 亚洲精品在线电影| 日韩欧美在线影院| 91精品国产福利| 欧美日韩精品电影| 欧美在线观看一区二区| 91在线看国产| 91免费看片在线观看| 成人污污视频在线观看| 国产福利一区二区三区视频在线 | 亚洲综合一区二区| 亚洲特黄一级片|