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

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

?? systffs.c

?? 菲利普22系列 vxworks bsp 可以用來可以和其他版本的ARM vxworks bsp(特別是7內核的進行比較)進行比較可以加深對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 精英arm7開發板
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.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品无码一区二区三区| 日韩一区二区视频在线观看| 国产91精品一区二区麻豆网站 | 国产精品久久久久婷婷二区次| 欧美一级二级三级乱码| 欧美日韩国产美女| 日韩一区二区影院| 日韩免费观看高清完整版在线观看| 欧美一级欧美一级在线播放| 欧美电影免费观看高清完整版在线 | 中文字幕中文字幕中文字幕亚洲无线| 欧美精品一区二区三区一线天视频| 26uuu国产日韩综合| 国产网站一区二区| 中文字幕日韩av资源站| 一区二区三区在线视频观看58| 亚洲在线免费播放| 午夜影视日本亚洲欧洲精品| 蜜桃91丨九色丨蝌蚪91桃色| 久久er99热精品一区二区| 国产91精品精华液一区二区三区| 成人做爰69片免费看网站| av日韩在线网站| 欧美日韩国产在线观看| 日韩欧美国产wwwww| 亚洲欧洲精品一区二区三区| 亚洲高清免费视频| 精品一区二区三区免费| 成人激情午夜影院| 欧美日韩www| 国产人伦精品一区二区| 亚洲欧美色综合| 久久精品国产亚洲a| 国产精品乡下勾搭老头1| 91福利视频在线| 久久久噜噜噜久久人人看 | 欧美亚洲动漫另类| 日韩精品在线一区| 亚洲精品精品亚洲| 精品中文字幕一区二区| 99久久精品情趣| 日韩一区二区三区观看| 亚洲天堂2016| 国产高清在线观看免费不卡| 欧美视频一区二区在线观看| 国产精品婷婷午夜在线观看| 日韩不卡免费视频| 97se狠狠狠综合亚洲狠狠| 欧美xfplay| 午夜精品久久久久久久久| 成年人国产精品| 欧美电影免费观看高清完整版在| 夜夜精品视频一区二区| 成人国产精品免费观看| www久久精品| 蜜桃精品视频在线| 欧美色综合网站| 国产精品久久久久一区二区三区| 精品无码三级在线观看视频| 欧美在线观看视频一区二区三区| 亚洲国产经典视频| 国产成人免费xxxxxxxx| 精品少妇一区二区三区日产乱码 | 欧美日韩美女一区二区| 亚洲人精品午夜| www.久久久久久久久| 欧美激情一区二区三区在线| 免费观看在线色综合| 欧美电影在哪看比较好| 午夜在线成人av| 欧美男人的天堂一二区| 亚洲成人动漫精品| 欧美日韩一区二区在线观看| 亚洲欧美日韩人成在线播放| 不卡的av中国片| 久久理论电影网| 精品一区二区三区免费播放| 日韩精品一区在线观看| 麻豆视频观看网址久久| 日韩你懂的电影在线观看| 免费在线看一区| 欧美xxxxx牲另类人与| 久久疯狂做爰流白浆xx| 久久亚洲精精品中文字幕早川悠里| 美女脱光内衣内裤视频久久网站| 日韩欧美一区电影| 国产又粗又猛又爽又黄91精品| 久久免费视频色| 成人妖精视频yjsp地址| 日韩美女视频一区二区 | 麻豆视频观看网址久久| www国产精品av| av在线不卡网| 亚洲成人动漫在线观看| 精品毛片乱码1区2区3区| 高清久久久久久| 亚洲影视在线观看| 日韩精品中文字幕在线一区| 国产盗摄视频一区二区三区| 国产精品第一页第二页第三页| 在线亚洲+欧美+日本专区| 午夜精品久久久久久久久| 久久综合狠狠综合久久激情| 成人免费视频一区| 亚洲第一综合色| 精品国产髙清在线看国产毛片| 成人国产免费视频| 视频一区视频二区在线观看| 精品99一区二区三区| 日本韩国欧美一区| 国产在线乱码一区二区三区| 亚洲欧美视频一区| 欧美一区欧美二区| 成人黄页毛片网站| 日本在线观看不卡视频| 国产精品成人午夜| 日韩写真欧美这视频| 91麻豆免费在线观看| 精品在线一区二区三区| 亚洲精品国产无天堂网2021| www久久精品| 在线播放视频一区| va亚洲va日韩不卡在线观看| 久久国产精品色婷婷| 亚洲激情图片小说视频| 久久人人97超碰com| 欧美日韩免费视频| 99久久99久久精品免费看蜜桃| 久久精工是国产品牌吗| 一区二区三区**美女毛片| 国产精品丝袜久久久久久app| 91精品国产综合久久精品app| 国产伦精品一区二区三区免费迷 | 国产精品久久久久久久久图文区 | 国产99久久久久| 久久电影网站中文字幕| 午夜欧美电影在线观看| 自拍偷拍国产亚洲| 国产精品精品国产色婷婷| 国产婷婷色一区二区三区| 亚洲精品一区二区三区福利| 欧美乱熟臀69xxxxxx| 欧美日韩国产综合视频在线观看 | 91丨porny丨在线| 国产电影一区在线| 国产在线播放一区二区三区| 青椒成人免费视频| 日韩综合一区二区| 肉丝袜脚交视频一区二区| 亚洲国产精品久久一线不卡| 亚洲精品视频免费看| 亚洲精品国产品国语在线app| 最新国产成人在线观看| 成人免费一区二区三区视频| 欧美激情一区二区三区蜜桃视频 | 91丝袜美腿高跟国产极品老师 | 粉嫩av一区二区三区粉嫩| 国产91精品入口| av在线不卡网| 一本到不卡精品视频在线观看| 99精品一区二区| 色综合久久久久久久久| 欧美在线看片a免费观看| 欧美亚洲综合久久| 91精品麻豆日日躁夜夜躁| 日韩欧美高清dvd碟片| 久久青草欧美一区二区三区| 国产精品蜜臀av| 亚洲人一二三区| 日本大胆欧美人术艺术动态| 美日韩一区二区| 国产成人精品在线看| 成人黄色软件下载| 欧美在线一二三四区| 日韩午夜激情av| 久久免费午夜影院| 成人欧美一区二区三区白人| 亚洲成a人在线观看| 免费成人美女在线观看| 国产91精品入口| 欧美日本一区二区| wwwwxxxxx欧美| 亚洲综合一二区| 国产一区二区三区四区五区入口| 成人美女视频在线观看| 欧美吻胸吃奶大尺度电影| 欧美精品一区二区在线观看| 亚洲视频免费观看| 久久国产剧场电影| 色av成人天堂桃色av| 精品久久一二三区| 亚洲主播在线观看| 成人短视频下载| 日韩欧美国产精品一区| 亚洲免费av在线| 国产成人亚洲综合a∨婷婷| 欧美自拍丝袜亚洲| 国产精品少妇自拍| 久久国产福利国产秒拍| 欧美视频一二三区|