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

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

?? systffs.c

?? at91rm9200 bsp at91rm9200 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一区二区三区免费野_久草精品视频
久久精品国产亚洲高清剧情介绍| 日韩电影在线看| 欧美日韩中文国产| 成人一区二区三区在线观看| 亚洲高清免费观看| 国产精品日产欧美久久久久| 亚洲精品一区二区三区影院| 欧美日韩aaaaaa| 一本色道**综合亚洲精品蜜桃冫| 国产自产v一区二区三区c| 日韩电影在线一区二区三区| 亚洲精品成a人| 国产精品不卡一区二区三区| 国产亚洲精品7777| 久久久久一区二区三区四区| 欧美xxxxx裸体时装秀| 日韩一区二区免费高清| 制服丝袜日韩国产| 69久久99精品久久久久婷婷| 91极品美女在线| 91激情在线视频| 日本精品一区二区三区高清| 在线中文字幕一区二区| 国产·精品毛片| 国产精品1区二区.| 成人精品高清在线| 国产美女久久久久| 国产91在线观看| 97久久超碰国产精品| 99久久er热在这里只有精品15 | 亚洲国产精品久久人人爱蜜臀| 国产精品午夜在线| 亚洲欧美在线视频| 亚洲第一搞黄网站| 狠狠色综合日日| 亚洲v精品v日韩v欧美v专区| 男男视频亚洲欧美| 日本成人在线网站| 国产一区二区三区四区五区美女| 国产成人免费视频精品含羞草妖精| 国产精品69久久久久水密桃| 91麻豆自制传媒国产之光| 成人一级片在线观看| 91福利在线导航| 精品国产一区二区在线观看| 国产日韩精品一区二区三区在线| 国产精品三级av在线播放| 亚洲综合色婷婷| 美女看a上一区| 色综合久久88色综合天天免费| 91麻豆蜜桃一区二区三区| 欧美日韩亚洲综合一区二区三区| 欧洲一区二区三区免费视频| 欧美一区二区视频观看视频 | 91视视频在线观看入口直接观看www | 久久精工是国产品牌吗| 美女性感视频久久| 99精品在线观看视频| 在线不卡欧美精品一区二区三区| 久久久久亚洲综合| 一区二区三区中文字幕在线观看| 麻豆国产91在线播放| 91福利视频网站| 国产亚洲成aⅴ人片在线观看| 国产精品国产精品国产专区不蜜| 日韩av中文字幕一区二区 | 看片的网站亚洲| 色一情一伦一子一伦一区| 91麻豆精品国产91久久久久久| 中文字幕精品一区二区三区精品| 日韩av一区二区在线影视| 成人国产精品免费观看动漫| 日韩亚洲欧美综合| 亚洲国产裸拍裸体视频在线观看乱了 | 久久久久国产精品厨房| 日韩av电影一区| 91麻豆精品国产91久久久资源速度| 亚洲国产精品天堂| 在线不卡的av| 久久国产生活片100| 日韩你懂的在线播放| 蜜桃av一区二区在线观看| 欧美变态口味重另类| 国产精品综合一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w| 精东粉嫩av免费一区二区三区| 精品久久久久av影院| 国产一区二区不卡在线 | 国产精品美女久久久久久| av电影天堂一区二区在线观看| 亚洲视频中文字幕| 欧美日韩在线综合| 美女精品一区二区| 国产日韩亚洲欧美综合| 一本色道久久综合精品竹菊| 一区二区三区欧美日韩| 91麻豆精品国产自产在线| 韩国精品免费视频| 国产清纯在线一区二区www| 色综合久久综合| 日韩精品1区2区3区| 久久精品一区蜜桃臀影院| 99久久久久免费精品国产| 亚洲国产乱码最新视频| 久久综合视频网| 日本道免费精品一区二区三区| 天天操天天干天天综合网| 久久综合999| 色综合欧美在线视频区| 精品中文字幕一区二区小辣椒 | www.欧美亚洲| 亚洲成人激情综合网| 亚洲精品一区二区三区福利| 成人爽a毛片一区二区免费| 五月天中文字幕一区二区| 久久婷婷成人综合色| 在线精品国精品国产尤物884a| 韩国一区二区三区| 亚洲福利电影网| 国产精品久久午夜| 日韩精品一区二区三区中文精品| 99这里都是精品| 国产米奇在线777精品观看| 亚洲国产欧美在线| 日韩理论片在线| 久久嫩草精品久久久久| 欧美视频一区二区三区四区 | 日欧美一区二区| 国产精品国产三级国产三级人妇 | 欧美日韩国产高清一区二区三区 | 国内精品嫩模私拍在线| 亚洲成av人在线观看| 国产精品白丝在线| 久久九九国产精品| 日韩欧美一区二区久久婷婷| 91老师片黄在线观看| 国产激情一区二区三区| 日韩影院在线观看| 一区二区三区在线免费播放| 日本一区二区三区dvd视频在线| 337p亚洲精品色噜噜噜| 欧美手机在线视频| 99精品国产一区二区三区不卡| 国产麻豆精品一区二区| 日韩av一级电影| 日本美女一区二区| 日本vs亚洲vs韩国一区三区| 亚洲香肠在线观看| 一区二区三区在线免费| 综合自拍亚洲综合图不卡区| 国产视频911| 国产精品国产三级国产普通话三级| 久久综合九色综合97婷婷| 日韩免费观看高清完整版在线观看| 色八戒一区二区三区| 成人av片在线观看| 色综合久久久久综合99| av高清不卡在线| 成人黄色一级视频| 色悠悠久久综合| 欧美亚洲动漫另类| 在线成人高清不卡| 精品人伦一区二区色婷婷| 日韩欧美中文字幕一区| 欧美一区二区啪啪| 26uuu精品一区二区在线观看| 69成人精品免费视频| 欧美一级欧美三级在线观看| 欧美一区二区精品| 久久综合999| 亚洲理论在线观看| 午夜成人在线视频| 韩日欧美一区二区三区| 成人国产免费视频| 在线看一区二区| 精品国产电影一区二区| 中文字幕av不卡| 亚洲午夜三级在线| 日韩电影一二三区| 国产成人在线观看免费网站| 91丝袜美腿高跟国产极品老师| 91久久精品一区二区三区| 91麻豆精品国产91久久久使用方法| 精品sm捆绑视频| 亚洲同性gay激情无套| 日韩国产欧美在线视频| 国产成人三级在线观看| 欧洲精品在线观看| 久久免费视频一区| 亚洲国产中文字幕| 国产成人精品免费在线| 欧美三级午夜理伦三级中视频| 精品美女一区二区三区| 亚洲欧美日韩国产手机在线 | 亚洲裸体在线观看| 日韩av网站免费在线| 国产mv日韩mv欧美| 日韩一级免费观看| 夜夜操天天操亚洲| 成人中文字幕在线|