| Electronic Components Datasheet Search |
|
UM0851 Datasheet(PDF) 128 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0851 Datasheet(HTML) 128 Page - STMicroelectronics |
|
128 / 245 page ![]() Non-volatile memory device drivers UM0851 128/245 Doc ID 16604 Rev 2 nand_ctrl.tclr = 0x04; /* Command Latch Low to Read Enable Low */ /* Call FSMC API */ fsmc_set_nand_control (bank, &nand_ctrl); /* Fills the structure for Timing parameter */ nand_timing.data_bus_hiz_phase = 0x1; /*timing from start of cycle and enable data out bus (only for write mode). */ nand_timing.addr_hold_phase = 0x4; /* Time from enable off and end of cycle. (Both for read and write cycle)*/ nand_timing.wait_phase = 0x6; /* Time from enable on to enable off for all signals.(Both for read and write cycle)*/ nand_timing.addr_setup_phase = 0x0; /*Time from address valid to enable off activation. (Both for read and write cycle)*/ /* Call FSMC API */ fsmc_set_nand_timing (bank, FSMC_PC_NAND_COMMON_MEM_SPACE, &nand_timing); Out-of-band (OOB) data A NAND page consists of a number of data bytes (512 or 2048) plus a number of out-of- band (OOB) bytes (16 or 64 respectively). Only the data bytes are used for application data. The OOB bytes are used for: ● Marking an erase block as bad (first or second page of erase block) ● Storing ECC (error correction codes) ● Storing file system specific information (JFFS2 or YAFFS) OOB placement schemes are defined by a struct nand_ecclayout: struct nand_ecclayout { int eccbytes; The eccbytes member defines the number of ecc bytes per page. int eccpos[24]; The eccpos array holds the byte offsets in the spare area where the ecc codes are placed. int oobfree[8][2]; The oobfree array defines the areas in the spare area which can be used for automatic placement. The information is given in the format {offset, size}. offset defines the start of the usable area, size the length in bytes. More than one area can be defined. The list is terminated by an {0, 0} entry. }; The OOB layout for 512 page-size NAND Flash over SPEAr platform is as follows: static struct nand_ecclayout spear_nand_oobinfo_512 = { .eccbytes = 3, .eccpos = {2, 3, 4}, .oobfree = {{8, 8}} }; The total number of OOB bytes for 512-byte data is 16. In OOB bytes, 3 bytes (at offset 2, 3 and 4) are for the ECC, 8 bytes (from offset 8 to 15) are free and used by file-system specific information. One byte (at offset 5) is used for bad-block information. OOB layout for 2048 page-size NAND Flash in the SPEAr platform is as follows: static struct nand_ecclayout spear_nand_oobinfo_2048 = { .eccbytes = 12, .eccpos = {2, 3, 4, 18, 19, 20, 34, 35, 36, 50, 51, 52}, |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |