/* The maximum number of NAND chips in an array */ #define NAND_MAX_CHIPS 8
/** *structnand_bbt_descr-badblocktabledescriptor *@options:optionsforthisdescriptor *@pages:thepage(s)wherewefindthebbt,usedwithoptionBBT_ABSPAGE *whenbbtissearched,thenwestorethefoundbbtspageshere. *Itsanarrayandsupportsupto8chipsnow *@offs:offsetofthepatternintheoobareaofthepage *@veroffs:offsetofthebbtversioncounterintheoobareofthepage *@version:versionreadfromthebbtpageduringscan *@len:lengthofthepattern,if0nopatterncheckisperformed *@maxblocks:maximumnumberofblockstosearchforabbt.Thisnumberof *blocksisreservedattheendofthedevicewherethetablesare *written. *@reserved_block_code:ifnon-0,thispatterndenotesareserved(ratherthan *bad)blockinthestoredbbt *@pattern:patterntoidentifybadblocktableorfactorymarkedgood/ *badblocks,canbeNULL,iflen=0 * *Descriptorforthebadblocktablemarkerandthedescriptorforthe *patternwhichidentifiesgoodandbadblocks.Theassumptionismade *thatthepatternandtheversioncountarealwayslocatedintheoobarea *ofthefirstblock.
*/ struct nand_bbt_descr { int options; int pages[NAND_MAX_CHIPS]; int offs; int veroffs;
uint8_t version[NAND_MAX_CHIPS]; int len; int maxblocks; int reserved_block_code;
uint8_t *pattern;
};
/* Options for the bad block table descriptors */
/* The number of bits used per block in the bbt on the device */ #define NAND_BBT_NRBITS_MSK 0x0000000F #define NAND_BBT_1BIT 0x00000001 #define NAND_BBT_2BIT 0x00000002 #define NAND_BBT_4BIT 0x00000004 #define NAND_BBT_8BIT 0x00000008 /* The bad block table is in the last good block of the device */ #define NAND_BBT_LASTBLOCK 0x00000010 /* The bbt is at the given page, else we must scan for the bbt */ #define NAND_BBT_ABSPAGE 0x00000020 /* bbt is stored per chip on multichip devices */ #define NAND_BBT_PERCHIP 0x00000080 /* bbt has a version counter at offset veroffs */ #define NAND_BBT_VERSION 0x00000100 /* Create a bbt if none exists */ #define NAND_BBT_CREATE 0x00000200 /* *CreateanemptyBBTwithnovendorinformation.Vendor'sinformationmaybe *unavailable,forexample,iftheNANDcontrollerhasadifferentdataandOOB *layoutorifthisinformationisalreadypurged.Mustbeusedinconjunction *withNAND_BBT_CREATE.
*/ #define NAND_BBT_CREATE_EMPTY 0x00000400 /* Write bbt if neccecary */ #define NAND_BBT_WRITE 0x00002000 /* Read and write back block contents when writing bbt */ #define NAND_BBT_SAVECONTENT 0x00004000
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.1Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-09-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.