请教下 nand flash 最大读写块不能够超过 512 个块,不知道是为何 ?
好块数量如下:
根据上面的信息看,有小块有 1901 个,怎么我的读写块就不能够超过 512 块啊 ??
{
static uint8_t i = 0;
for(cc=0;cc<8192 * 2;cc++)
{
uart_tx_buff[cc] = i * 4 ;
uart_rx_buff[cc] = 0 ;
i ++;
}
}
u8 *ptr = uart_tx_buff;
FTL_WriteSectors( ptr, 256 * 511 , 512, ((8192 * 2) / 512 ) ); // 我的这个芯片每页是2048Byte, 一个块是64页,所以 64*2048/512 = 256,
// 这里的 256*511 就表示从是 第512个块 开始写数据,但是程序执行到 FTL_LBNToPBN 函数会返回 0xFFFF
//逻辑块号转换为物理块号
//LBNNum:逻辑块编号
//返回值:物理块编号
u16 FTL_LBNToPBN(u32 LBNNum)
{
u16 PBNNo=0;
//当逻辑块号大于有效块数的时候返回0XFFFF
if(LBNNum > nand_dev.valid_blocknum)
return 0XFFFF;
PBNNo = nand_dev.lut[LBNNum];
return PBNNo;
}
ptr = uart_rx_buff;
FTL_ReadSectors( ptr, 256 * 511 , 512, ((8192 * 2) / 512 ) );
一周热门 更多>