本帖最后由 hpdell 于 2016-11-17 09:55 编辑
请教下,nand flash 读写大数据量 使用方法??
uint8_t uart_tx_buff[8192*2], uart_rx_buff[8192*2];
uint32_t cc = 0;
{
static uint8_t i = 0;
for(cc=0;cc<8192*2;cc++)
{
uart_tx_buff[cc] = i * 2 ;
uart_rx_buff[cc] = 0 ;
i ++;
}
}
u8 *ptr = uart_tx_buff;
TimeBegin = HAL_GetTick();
FTL_WriteSectors( ptr, 0, 512, ((8192 * 2) / 512 ) ); // 这样使用感觉比较麻烦啊,有没有什么好方法可以像 spi,那样就好了啊(只需要给出数据地址,数据量就可以了 )
TimeEnd = HAL_GetTick();
printf("NAND Flash Write 8192 * 2 End ... ... %dms
" , TimeEnd - TimeBegin);
//*********************************************************************************************
ptr = uart_rx_buff;
TimeBegin = HAL_GetTick();
FTL_ReadSectors( ptr, 0, 512, ((8192 * 2) / 512 ) );
TimeEnd = HAL_GetTick();
printf("NAND Flash Read 8192 * 2 End ... ... %dms
" , TimeEnd - TimeBegin);
if( Buffercmp_8(&uart_tx_buff[0], &uart_rx_buff[0], 8192 * 2) == 0)
printf("NAND Flash Data Read Write Auto Erase Sector OK .. DD
");
else
printf("NAND Flash Data Read Write Auto Erase Sector Error .. EE
");
如果每次都像上面那样操作 感觉比较麻烦啊,有没有什么好的方法啊 ???
这是16bit 的 nand flash 的读写时间测试,不过16bit的nand flash 我目前当成8bit的来使用
一周热门 更多>