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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? systffs.c

?? 440bx vxworks bsp
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* sysTffs.c - Motorola MVME177 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-1996	*/

/*
modification history
--------------------
01o,29jul04,a_m  BSP定制 for 多刃劍開發(fā)板
01j,31may99,yp  Added comments suggested in SPR #25319
01i,21apr98,yp   added tffs to files included from there
01h,11mar98,yp   made including tffsConfig.c conditional so man page
                 generation does not include it.
01g,09mar99,kbw  made man page edits to fix problems found by QE
01f,02jan98,yp   doc cleanup 
01e,18dec97,hdn  added comment.  cleaned up.
01d,05dec97,hdn  added tffsSocket[].  cleaned up.
01c,11nov97,hdn  fixed typo.
01b,05nov97,hdn  cleaned up.
01a,09oct97,and  written by Andray in M-Systems
*/

/*
DESCRIPTION
This 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 neither
referenced in an 'FLSocket' structure, nor is it externally callable.  This
function 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 driver
associated 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().  

Finally, this file also contains define statements for symbolic constants 
that determine which MTDs, translation layer modules, and other utilities 
are ultimately included in TrueFFS.  These defines are as follows:

.IP "INCLUDE_TL_NFTL"
To include the NAND-based translation layer module.
.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_CDSN"
For Toshiba, Samsung: NAND CDSN flash devices.
.IP "INCLUDE_MTD_DOC2"
For Toshiba, Samsung: NAND DOC 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.
.LP
To exclude any of the modules mentioned above, edit sysTffs.c and undefine
its associated symbolic constant.

INCLUDE FILES: flsocket.h, tffsDrv.h

SEE ALSO : tffsDrv tffsConfig
*/

#include "vxWorks.h"
#include "config.h"
#include "tffs/flsocket.h"
#include "tffs/tffsDrv.h"


/* defines */

#define INCLUDE_MTD_SST39VF160	/*  : sst39vf160 */
#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_CDSN		/* Toshiba, Samsung: NAND, CDSN */
#undef	INCLUDE_MTD_DOC2		/* Toshiba, Samsung: NAND, DOC */
#undef	INCLUDE_MTD_CFISCS		/* CFI/SCS */
#undef	INCLUDE_MTD_WAMD		/* AMD, Fujitsu: 29f0{40,80,16} 16bit */
#undef	INCLUDE_TL_NFTL			/* NFTL translation layer */
#define	INCLUDE_TL_FTL			/* FTL translation layer */
#undef	INCLUDE_TL_SSFDC		/* SSFDC translation layer */
#undef  INCLUDE_TFFS_BOOT_IMAGE		/* include tffsBootImagePut() */
#define	FLASH_BASE_ADRS		ROM_SIZE
#define	FLASH_SIZE		(0x00200000-ROM_SIZE)


/* locals */


/* forward declarations */

LOCAL void		rfaWriteProtect (void);
LOCAL void		rfaWriteEnable (void);
LOCAL FLBoolean		rfaCardDetected (FLSocket vol);
LOCAL void		rfaVccOn (FLSocket vol);
LOCAL void		rfaVccOff (FLSocket vol);
#ifdef	SOCKET_12_VOLTS
LOCAL FLStatus		rfaVppOn (FLSocket vol);
LOCAL void		rfaVppOff (FLSocket vol);
#endif	/* SOCKET_12_VOLTS */
LOCAL FLBoolean		rfaGetAndClearCardChangeIndicator (FLSocket vol);
LOCAL FLBoolean		rfaWriteProtected (FLSocket vol);
LOCAL void		rfaSetWindow (FLSocket vol);
LOCAL void		rfaSetMappingContext (FLSocket vol, unsigned page);
LOCAL FLStatus		rfaSocketInit (FLSocket vol);
LOCAL FLStatus		rfaRegister (void);

#ifndef DOC
#include "tffsConfig.c"
#endif /* DOC */

/*******************************************************************************
*
* sysTffsInit - board-level initialization for TrueFFS
*
* This routine calls the socket registration routines for the socket component
* drivers that will be used with this BSP. The order of registration determines
* the logical drive number given to the drive associated with the socket.
*
* RETURNS: N/A
*/

LOCAL void sysTffsInit (void)
    {

    rfaRegister ();
    }

/*******************************************************************************
*
* rfaRegister - registration routine for the RFA on MVME177
*
* This routine populates the 'vol' structure for a logical drive with the
* socket component driver routines for the RFA on the MVME177 board. All
* socket routines are referanced through the 'vol' structure and never 
* from here directly
*
* RETURNS: flOK, or flTooManyComponents if there're too many drives
*/

LOCAL FLStatus rfaRegister (void)
    {
    FLSocket vol = flSocketOf (noOfDrives);

    if (noOfDrives >= DRIVES)
        return (flTooManyComponents);

    tffsSocket[noOfDrives] = "RFA";
    noOfDrives++;

    vol.serialNo = 0;
    vol.window.baseAddress = FLASH_BASE_ADRS >> 12;

    /* fill in function pointers */

    vol.cardDetected      = rfaCardDetected;
    vol.VccOn             = rfaVccOn;
    vol.VccOff            = rfaVccOff;
#ifdef SOCKET_12_VOLTS
    vol.VppOn             = rfaVppOn;
    vol.VppOff            = rfaVppOff;
#endif
    vol.initSocket        = rfaSocketInit;
    vol.setWindow         = rfaSetWindow;
    vol.setMappingContext = rfaSetMappingContext;
    vol.getAndClearCardChangeIndicator =
                          rfaGetAndClearCardChangeIndicator;
    vol.writeProtected    = rfaWriteProtected;

    return (flOK);
    }

/*******************************************************************************
*
* rfaCardDetected - 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 rfaCardDetected
    (
    FLSocket vol
    )
    {
    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.
*
* RETURNS: N/A
*/

LOCAL void rfaVccOn 
    (
    FLSocket vol
    )
    {
    rfaWriteEnable ();
    }

/*******************************************************************************
*
* rfaVccOff - turn off Vcc (3.3/5 Volts)
*
* This routine turns off Vcc (3.3/5 Volts). 
*
* RETURNS: N/A
*/

LOCAL void rfaVccOff 
    (
    FLSocket vol
    )
    {
    rfaWriteProtect ();
    }

#ifdef SOCKET_12_VOLTS

/*******************************************************************************
*
* rfaVppOn - turns on Vpp (12 Volts)
*
* This routine turns on Vpp (12 Volts). Vpp must be known to be good on exit.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国精产品一区一区三区mba桃花 | 久久久久久久久伊人| 国产一区二区三区在线观看精品| 国产日韩精品一区二区三区| 日本道免费精品一区二区三区| 亚洲成人免费在线| 久久这里只有精品6| 波多野结衣一区二区三区| 青椒成人免费视频| 中文字幕一区视频| 欧美一区二区三区在| 久久99精品一区二区三区三区| 国产精品久久久久久久蜜臀| 欧美精品xxxxbbbb| 成人激情文学综合网| 麻豆精品一区二区综合av| 亚洲色图欧美激情| 欧美大片国产精品| www.在线欧美| 精品中文av资源站在线观看| 亚洲另类春色国产| 欧美理论片在线| 在线亚洲免费视频| 国产凹凸在线观看一区二区 | 国产精品一区二区在线看| 一区二区三区高清不卡| 国产视频一区在线播放| 精品国产乱码久久久久久免费| 欧洲精品在线观看| 高清在线不卡av| 麻豆国产一区二区| 亚洲电影欧美电影有声小说| 国产欧美一二三区| 欧美va日韩va| 欧美一区二区三区视频免费播放 | 久久日韩精品一区二区五区| 欧美日韩一区二区三区在线看| 粉嫩一区二区三区在线看| 一区二区三区视频在线观看| 国产精品乱码一区二区三区软件| 欧美一区二区三区不卡| 欧美日韩中字一区| 5566中文字幕一区二区电影| 在线免费观看日本欧美| 不卡的av在线| 91亚洲精华国产精华精华液| 国产成a人无v码亚洲福利| 激情欧美一区二区| 亚洲成人综合视频| 亚洲自拍偷拍欧美| 国产精品女人毛片| 欧美激情一区二区三区在线| 中文字幕一区不卡| 国产精品丝袜在线| 国产精品网站一区| 亚洲柠檬福利资源导航| 亚洲美女视频一区| 亚洲精品成人精品456| 亚洲精品中文字幕在线观看| 亚洲免费毛片网站| 亚洲精品视频在线观看免费| 国产欧美综合在线观看第十页 | 亚洲最大色网站| 一区二区在线观看不卡| 日日摸夜夜添夜夜添精品视频| 亚洲成人免费av| 亚洲专区一二三| 亚洲国产精品嫩草影院| 午夜影视日本亚洲欧洲精品| 午夜精品一区在线观看| 亚洲综合成人网| 激情综合五月婷婷| 国产不卡免费视频| 成人sese在线| 欧美欧美午夜aⅴ在线观看| 欧美久久久久免费| 欧美变态凌虐bdsm| 国产精品麻豆视频| 亚洲一二三区视频在线观看| 五月天一区二区三区| 日韩福利电影在线| 成人激情图片网| 色狠狠综合天天综合综合| 欧美人妇做爰xxxⅹ性高电影| 国产拍欧美日韩视频二区| 亚洲色欲色欲www| 午夜精品久久久久久不卡8050| 国产一区二区三区免费| www.在线成人| 欧美日韩国产天堂| 91精品国产乱| 国产女人18毛片水真多成人如厕| 亚洲美女淫视频| 日本成人在线一区| 日本韩国一区二区三区| 欧美丰满一区二区免费视频| 91精品国产美女浴室洗澡无遮挡| 久久嫩草精品久久久精品一| 亚洲自拍都市欧美小说| 国产真实乱对白精彩久久| 91久久精品国产91性色tv| 久久综合久色欧美综合狠狠| 亚洲靠逼com| 久草这里只有精品视频| 欧美三区在线视频| 国产色综合久久| 性感美女久久精品| 久久精品国产77777蜜臀| 91同城在线观看| 精品免费国产二区三区| 中文字幕免费一区| 韩国欧美国产一区| 在线亚洲+欧美+日本专区| 久久综合久久99| 美女www一区二区| 色婷婷香蕉在线一区二区| 日韩美女视频在线| 日本午夜一区二区| 91丨porny丨首页| 精品国产乱码久久久久久图片| 日韩成人免费看| 色综合天天视频在线观看| 久久日一线二线三线suv| 天天影视网天天综合色在线播放 | 91老师片黄在线观看| 日韩一级在线观看| 亚洲自拍偷拍九九九| 不卡一区在线观看| 久久在线观看免费| 日本在线不卡视频| 91精彩视频在线| 欧美激情一区二区三区全黄| 美女脱光内衣内裤视频久久网站 | 国产精品另类一区| 韩国毛片一区二区三区| 精品日韩av一区二区| 亚洲国产一区视频| 色婷婷综合久久久中文一区二区| 国产精品久久久久久久久免费樱桃 | 成人午夜激情视频| 久久综合九色综合97婷婷女人| 久久精品国产秦先生| 欧美日韩五月天| 亚洲综合视频网| 欧美三区在线观看| 亚洲激情自拍视频| 99视频有精品| 亚洲精品中文字幕乱码三区| 9i看片成人免费高清| 国产精品毛片久久久久久久| 国产乱码精品一区二区三区五月婷| 555夜色666亚洲国产免| 亚洲大片免费看| 91年精品国产| 一区二区久久久| 欧美日韩国产综合视频在线观看| 一区二区三区日韩精品视频| 欧美三级资源在线| 久久av中文字幕片| 国产日韩欧美激情| 91久久精品午夜一区二区| 亚洲成av人在线观看| 日韩欧美国产综合在线一区二区三区| 久久99久久久久| 中文一区一区三区高中清不卡| 99久久精品国产观看| 亚洲午夜在线视频| 日韩视频在线观看一区二区| 高清视频一区二区| 亚洲成人av福利| 久久久精品日韩欧美| 91蜜桃传媒精品久久久一区二区| 亚洲国产精品一区二区尤物区| 欧美电影免费观看完整版| 不卡的av网站| 天天色综合天天| 国产亚洲精品资源在线26u| 99riav久久精品riav| 日韩综合一区二区| 国产精品三级av| 这里只有精品电影| 国产91精品一区二区麻豆亚洲| 亚洲一区在线观看免费| 精品国产伦理网| 欧美日韩在线综合| 国产麻豆成人精品| 午夜国产精品一区| 欧美极品美女视频| 欧美一区二区福利在线| av不卡一区二区三区| 美女看a上一区| 亚洲精品五月天| 国产三区在线成人av| 欧美一区二区人人喊爽| www.欧美亚洲| 美腿丝袜亚洲一区| 亚洲一区二区三区四区五区黄| 久久久久久久性| 6080国产精品一区二区| 色综合天天综合网国产成人综合天 |