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

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

?? systffs.c

?? Vxworks下BSP源碼
?? 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 */#undef PRJ_BUILD#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 */#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 */#undef  INCLUDE_MTD_SST#define  INCLUDE_TL_FTL                  /* FTL translation layer *//* 需修改tffsConfig.c->mtdTable *//* makefile中修改MACH_EXTRA =  K9F2808U0C.o,未添加sysTffs.o */#define	INLUCDE_MTD_K9F2808U0C								/*my nand flash */#undef  INCLUDE_TL_SSFDC                /* SSFDC translation layer */#undef INCLUDE_SOCKET_SIMM             /* SIMM socket interface */#undef 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. */#undef  INCLUDE_TFFS_BOOT_IMAGE		/* include tffsBootImagePut() *//* TODO :  * set these to board specific values. * The values used here are fictional. */#define	FLASH_BASE_ADRS		0x50000000	/* Flash memory base address */#define	FLASH_SIZE				0x01000000	/* Flash memory size -16M*/#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 = 1;/* 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);#undef DOC#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    (

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品1024久久| 成人免费高清在线观看| 欧美xxx久久| 日本不卡一二三区黄网| 久久久九九九九| 一本高清dvd不卡在线观看| 日本亚洲最大的色成网站www| 欧美成人国产一区二区| 国产永久精品大片wwwapp| 夜夜揉揉日日人人青青一国产精品| 日韩欧美成人激情| 99国内精品久久| 国产91露脸合集magnet| 中文字幕av资源一区| 欧美一区二区三区四区高清 | 麻豆一区二区在线| 亚洲一级二级在线| 国产欧美日韩精品一区| 91老师片黄在线观看| 国产福利一区二区三区视频| 一区二区高清在线| 成人免费一区二区三区视频 | 亚洲主播在线播放| 中文字幕一区二区三区不卡在线 | 色久优优欧美色久优优| 国产精品一区2区| 久久99精品国产麻豆不卡| 美女视频网站黄色亚洲| 天堂va蜜桃一区二区三区| 综合久久久久久| 国产精品久久久久久久第一福利| 精品国产污污免费网站入口 | 亚洲国产一区二区视频| 亚洲精品视频在线看| 国产午夜精品一区二区| 国产日韩欧美亚洲| 久久亚洲一区二区三区明星换脸 | 国产精一区二区三区| 欧美aaaaaa午夜精品| 中文字幕中文在线不卡住| 欧美激情一区二区三区蜜桃视频 | 成人午夜视频在线| 成人性视频网站| 成人精品免费网站| 亚洲一区二区三区四区在线免费观看 | 日本在线不卡视频一二三区| 26uuu欧美| 欧美高清www午色夜在线视频| 精品免费一区二区三区| 亚洲男人都懂的| 激情偷乱视频一区二区三区| 欧美午夜精品理论片a级按摩| 久久综合色鬼综合色| 亚洲一区二区欧美日韩| 国产成a人亚洲精品| 欧美一级免费观看| 一区二区三区四区在线免费观看| 国产麻豆午夜三级精品| 欧美肥妇free| 亚洲欧美日韩精品久久久久| 国产一区二区三区电影在线观看| 欧美三级日韩在线| 亚洲色图在线看| 成人免费高清视频| 国产欧美日韩久久| 国产成人免费视频网站高清观看视频| 欧美中文一区二区三区| 亚洲人被黑人高潮完整版| 国产suv精品一区二区6| 久久久国际精品| 高清不卡在线观看| 国产欧美日韩中文久久| 国产91对白在线观看九色| 国产拍欧美日韩视频二区| 国产精品18久久久久久久久| 精品少妇一区二区三区日产乱码| 日韩专区在线视频| 欧美一区日韩一区| 免费观看一级欧美片| 日韩精品一区二区三区swag| 久久99国产乱子伦精品免费| 欧美色欧美亚洲另类二区| 亚洲成人www| 91精品国产全国免费观看| 亚洲成人自拍一区| 欧美一级精品在线| 国产在线精品免费av| 久久久国产一区二区三区四区小说| 国产美女一区二区三区| 欧美高清在线精品一区| 91亚洲国产成人精品一区二区三| 亚洲欧美aⅴ...| 日韩一区二区三区精品视频| 韩国av一区二区三区在线观看| 久久精品人人爽人人爽| 91社区在线播放| 性感美女久久精品| 精品捆绑美女sm三区| 国产suv一区二区三区88区| 亚洲三级免费电影| 欧美一区午夜精品| 国产精品一区二区视频| 18欧美乱大交hd1984| 欧美精选在线播放| 国产精品一区三区| 中文字幕av一区二区三区| 欧美午夜精品一区| 国模一区二区三区白浆| 亚洲摸摸操操av| 日韩片之四级片| 99这里都是精品| 久久99久国产精品黄毛片色诱| 国产精品免费人成网站| 欧美日韩高清不卡| 懂色av中文字幕一区二区三区| 亚洲一区二区三区视频在线播放| www激情久久| 在线观看免费一区| 国产成人一区二区精品非洲| 有坂深雪av一区二区精品| 精品国产乱码久久久久久牛牛| 99久久久精品| 蜜臀a∨国产成人精品| ●精品国产综合乱码久久久久| 日韩欧美卡一卡二| 在线国产亚洲欧美| 风间由美一区二区三区在线观看 | 欧美国产一区二区| 欧美嫩在线观看| 91网站在线观看视频| 精品一区二区三区蜜桃| 一区二区三区.www| 中日韩免费视频中文字幕| 日韩午夜在线影院| 欧美日韩一区久久| 日本久久一区二区| 波多野结衣在线一区| 精品一区在线看| 亚洲一区二区三区四区中文字幕| 国产精品久久久久国产精品日日| 精品国产a毛片| 日韩三级电影网址| 91精品免费观看| 欧美日韩日日夜夜| 在线观看av一区二区| 色婷婷亚洲综合| 在线这里只有精品| 色综合久久中文字幕| 色婷婷综合视频在线观看| 91丨porny丨首页| 99久久精品99国产精品| 国产成人av电影免费在线观看| 狠狠色丁香婷婷综合久久片| 精品一区二区三区久久| 久久97超碰色| 国内精品视频一区二区三区八戒| 麻豆专区一区二区三区四区五区| 男男gaygay亚洲| 久久国产精品第一页| 精品一区二区三区久久久| 久久精品噜噜噜成人av农村| 久久99精品久久久久久国产越南| 麻豆精品久久久| 国产高清不卡一区二区| 成人高清在线视频| 91在线观看美女| 在线观看av不卡| 日韩一卡二卡三卡国产欧美| 日韩视频免费观看高清完整版 | 日韩视频一区在线观看| 亚洲精品在线观| 国产精品美女久久久久久2018| 国产精品进线69影院| 亚洲综合男人的天堂| 奇米精品一区二区三区四区| 国内精品免费**视频| 成人污视频在线观看| 欧美午夜电影网| 久久中文娱乐网| 亚洲精品免费在线| 日韩激情av在线| 成人精品小蝌蚪| 欧美三级三级三级| 久久综合中文字幕| 亚洲精品va在线观看| 精品一二三四在线| 91蝌蚪porny| 精品乱人伦一区二区三区| 国产精品伦一区| 亚洲成a人v欧美综合天堂下载| 精品一区中文字幕| 91电影在线观看| 久久久无码精品亚洲日韩按摩| 国产精品久久久久久户外露出| 午夜电影久久久| 波波电影院一区二区三区| 欧美日韩激情一区二区| 国产精品福利在线播放| 久久精品国产久精国产| 欧美在线观看一区|