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

📄 nftl.h

📁 Uboot源码,非常通用的bootloader.适用于各种平台的Linux系统引导.
💻 H
字号:
/* Defines for NAND Flash Translation Layer  *//* (c) 1999 Machine Vision Holdings, Inc.    *//* Author: David Woodhouse <dwmw2@mvhi.com>  *//* $Id: nftl.h,v 1.10 2000/12/29 00:25:38 dwmw2 Exp $ */#ifndef __MTD_NFTL_H__#define __MTD_NFTL_H__/* Block Control Information */struct nftl_bci {	unsigned char ECCSig[6];	__u8 Status;	__u8 Status1;}__attribute__((packed));/* Unit Control Information */struct nftl_uci0 {	__u16 VirtUnitNum;	__u16 ReplUnitNum;	__u16 SpareVirtUnitNum;	__u16 SpareReplUnitNum;} __attribute__((packed));struct nftl_uci1 {	__u32 WearInfo;	__u16 EraseMark;	__u16 EraseMark1;} __attribute__((packed));struct nftl_uci2 {	__u16 FoldMark;	__u16 FoldMark1;	__u32 unused;} __attribute__((packed));union nftl_uci {	struct nftl_uci0 a;	struct nftl_uci1 b;	struct nftl_uci2 c;};struct nftl_oob {	struct nftl_bci b;	union nftl_uci u;};/* NFTL Media Header */struct NFTLMediaHeader {	char DataOrgID[6];	__u16 NumEraseUnits;	__u16 FirstPhysicalEUN;	__u32 FormattedSize;	unsigned char UnitSizeFactor;} __attribute__((packed));#define MAX_ERASE_ZONES (8192 - 512)#define ERASE_MARK 0x3c69#define SECTOR_FREE 0xff#define SECTOR_USED 0x55#define SECTOR_IGNORE 0x11#define SECTOR_DELETED 0x00#define FOLD_MARK_IN_PROGRESS 0x5555#define ZONE_GOOD 0xff#define ZONE_BAD_ORIGINAL 0#define ZONE_BAD_MARKED 7/* these info are used in ReplUnitTable */#define BLOCK_NIL          0xffff /* last block of a chain */#define BLOCK_FREE         0xfffe /* free block */#define BLOCK_NOTEXPLORED  0xfffd /* non explored block, only used during mounting */#define BLOCK_RESERVED     0xfffc /* bios block or bad block */struct NFTLrecord {	struct DiskOnChip *mtd;	__u16 MediaUnit, SpareMediaUnit;	__u32 EraseSize;	struct NFTLMediaHeader MediaHdr;	int usecount;	unsigned char heads;	unsigned char sectors;	unsigned short cylinders;	__u16 numvunits;	__u16 lastEUN;                  /* should be suppressed */	__u16 numfreeEUNs;	__u16 LastFreeEUN; 		/* To speed up finding a free EUN */	__u32 nr_sects;	int head,sect,cyl;	__u16 *EUNtable; 		/* [numvunits]: First EUN for each virtual unit  */	__u16 *ReplUnitTable; 		/* [numEUNs]: ReplUnitNumber for each */	unsigned int nb_blocks;		/* number of physical blocks */	unsigned int nb_boot_blocks;	/* number of blocks used by the bios */};#define MAX_NFTLS 16#define MAX_SECTORS_PER_UNIT 32#define NFTL_PARTN_BITS 4#endif /* __MTD_NFTL_H__ */

⌨️ 快捷键说明

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