spi nand flash芯片“5F4GQ4UBYIG”,uboot源代码中芯片的oobsize设置是根据芯片实际的“spare 256bytes”设置的,如下:
- /* GD 5F4GQ4UBYIG 4Gbit */
- {
- .name = "5F4GQ4UBYIG",
- .id = {0xc8, 0xd4},
- .id_len = 2,
- .chipsize = _512M,
- .erasesize = _256K,
- .pagesize = _4K,
- .oobsize = 256, // 这里就是设置的oobsize
- .badblock_pos = BBP_FIRST_PAGE,
- .read = {
- &READ_STD(1, INFINITE, 24),
- &READ_FAST(1, INFINITE, 120),
- &READ_DUAL(1, INFINITE, 120),
- &READ_DUAL_ADDR(1, INFINITE, 120),
- &READ_QUAD(1, INFINITE, 120),
- &READ_QUAD_ADDR(1, INFINITE, 120),
- 0
- },
- .write = {
- &WRITE_STD(0, 256, 24),
- &WRITE_QUAD(0, 256, 120),
- 0
- },
- .erase = {
- &ERASE_SECTOR_256K(0, _256K, 24),
- 0
- },
- .driver = &spi_driver_general,
- },
复制代码
但是u-boot-2010.06启动之后,检测到ID,名称,大小都对了,就是OOB不对,打印的是200B,如下信息:
- SPI Nand(cs 1) ID: 0xc8 0xd4 Name:"5F4GQ4UBYIG"
- Block:256KB Page:4KB Chip:512MB*1 OOB:200B ECC:24bit/1K
- ECC provided by Flash Memory Controller
- SPI Nand total size: 512MB
复制代码
什么问题?
|