⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fltl.h

📁 M-System DOC(Disk on a Chip) Flash芯片的诊断工具, 可以从Flash芯片中获取特定的数据信息, 用于判断芯片当前的状态.
💻 H
字号:
/***********************************************************************************/
/*                        M-Systems Confidential                                   */
/*           Copyright (C) M-Systems Flash Disk Pioneers Ltd. 1995-2003            */
/*                         All Rights Reserved                                     */
/***********************************************************************************/
/*                            NOTICE OF M-SYSTEMS OEM                              */
/*                           SOFTWARE LICENSE AGREEMENT                            */
/*                                                                                 */
/*      THE USE OF THIS SOFTWARE IS GOVERNED BY A SEPARATE LICENSE                 */
/*      AGREEMENT BETWEEN THE OEM AND M-SYSTEMS. REFER TO THAT AGREEMENT           */
/*      FOR THE SPECIFIC TERMS AND CONDITIONS OF USE,                              */
/*      OR CONTACT M-SYSTEMS FOR LICENSE ASSISTANCE:                               */
/*      E-MAIL = info@m-sys.com                                                    */
/***********************************************************************************/

/*
 * $Log:   V:/PVCSDB/DiskOnChip/archives/general storage/TrueFFS/src/include/fltl.h-arc  $
 * 
 *    Rev 1.3   Sep 30 2003 17:59:16   oris
 * Added Programmer name and version to the extended disk info structure.
 * 
 *    Rev 1.2   May 12 2003 23:17:00   oris
 * Added dwUsedUnits field to the extended disk information routine structure.
 * 
 *    Rev 1.1   May 08 2003 23:15:40   OriS
 * Removed fIsQuickMountValid field from extended disk info record.
 * 
 *    Rev 1.0   Apr 09 2003 12:16:00   OriS
 * Initial revision.
 * 
 */

#ifndef FLTL_H
#define FLTL_H

#include "flflash.h"
#include "flfuncno.h"
#include "flreq.h"

#define FL_BDK_PARTITION  1
#define FL_DISK_PARTITION 0
#define FL_ALL_FLOORS     0xff

/*----------------------------------------------------------------------*/
/*                  f l E x t e n d e d D i s k I n f o                 */
/*                                                                      */
/* This structure supplies very low-level information on the device     */
/*                                                                      */
/* Note: This structure is used for M-Systems low level utilities. It   */
/*       be subject to chages from one TrueFFS version to the other.    */
/*                                                                      */
/*----------------------------------------------------------------------*/

typedef struct {

  /******************************************/
  /* Fields that belong to the entire media */
  /******************************************/
  FLDword  dwStructSize;          /* INPUT - Size of the given structure      */
  FLDword  dwTLType;              /* See definitions in flflash.h             */
  FLDword  dwFormatFlags;         /* Format attributes for the entire media   */
  FLDword  dwTrueFFSVersion;      /* version of osak used to format the media */
  FLDword  dwFlashTechnology;     /* Flash technology (SLC/MLC)               */  

  FLByte   bNoOfFloors;           /* Number of floors in the device           */
  FLByte   bNoOfPlanes;           /* Number of flash planes                   */
  FLByte   bNoOfBanks;            /* Number of flash banks                    */
  FLByte   bDataBusWidth;         /* Value of the IF_CFG (either 8 or 16 bits)*/
  FLByte   bSectorsPerPage;       /* Number of sectors in a flash page        */  
  FLByte   bSharedSectors;        /* The minimal number of logical sectors    */
                                  /* that might be affected by one another    */
                                  /* write operation.                         */
  FLByte   bMaxRelatedSectors;    /* Max number of sectors that might share   */
                                  /* the same write operation or might be     */
                                  /* affected by each other write operation.  */ 
  FLDword  dwIPLSize;             /* Number of bytes of SRAM in the device    */
  FLByte   bChangeableProtectedAreas; /* Number of protection areas capable   */
                                      /* of changing.                         */  
  FLByte   btotalProtectedAreas;  /* Total number of protection areas         */
  FLDword  dwUnitsInFirstFloor;   /* Number of units in the first floor       */
  FLDword  dwUnitSize;            /* Size of logical erasable unit            */
  FLDword  dwMaxBadPercentage; /* Flash guaranteed  worst bad blocks percentage */ 
  FLByte   bNoOfBinaryPartitions; /* Number of binary partition on the media  */
  FLByte   bNoOfDiskPartitions;   /* Number of disk partition on the media    */
  FLByte   bBlockMultiplierBits;  /* no of bits used to represent the time a  */ 
                                  /* flash logical unit fits inside in a TL   */
                                  /* erasable unit.                           */
  FLByte   dwPercentUsed;         /* Percent of the media to be exported      */
  FLByte   bHeaderUnits;          /* Number of units reserved in the begining */
                                  /* of each floor for the media header       */
  FLWord   wHeaderLocation;       /* Unit number where the header of the      */
                                  /* current floor resides. In case all floors*/
                                  /* are requested, the value should indicate */
                                  /* the location of the header in the first  */
                                  /* floor.                                   */

  /************************************************/
  /* Fields that belong to the specific partition */
  /************************************************/

  FLDword    dwVirtualUnits;  /* Virtual size exported by the translation layer */
  FLDword    dwFirstQuickMountUnit; /* First unit used for the quick mount data */
  FLDword    dwFirstUnit;     /* First unit of the partition                    */
  FLDword    dwLastUnit;      /* Last unit of the partition                     */
  FLDword    dwSpareUnits;    /* Number of spare units requested by the user    */
  FLDword    dwTransferUnits; /* Number of transfer units used for chaining     */
  FLDword    dwPartitionFlags;/* See list above "Partition flags"               */

  /******************************************/
  /* Fields that are valid only after mount */
  /******************************************/

   FLDword    dwTLUnitSize;                 /* The size of the TL unit          */
   FLDword    dwFreeUnits;                  /* Number of currently free units   */
   FLByte     bNeededFreeUnits;             /* Minimal nuber of free units      */
                                            /* before folding                   */
   FLByte     bMinSectorsForFolding;        /* Number of sectors to be copied   */
                                            /* together in a folding operation  */
   FLByte     bMinSectorsForNextWrite;      /* For performance reasons the TL   */
                                            /* decide to reduce the above value */
   FLDword    dwUsedUnits;                  /* Number of used virtual chains    */
   FLByte     bProgrammerNamePtr[4];        /* Programmer name                  */
   FLByte     bProgrammerVersionPtr[4];     /* Programmer version               */
} FLExtendedDiskInfo;

typedef struct tTL TL;

#include "_fltl.h"

#endif /* FLTL_H */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -