请教下,nand flash 读写大数据量 使用方法 ??

2019-07-20 18:48发布

本帖最后由 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 ");



如果每次都像上面那样操作 感觉比较麻烦啊,有没有什么好的方法啊 ???

MT29F4G16ABAEA_Init-OK--3.png

这是16bit  的 nand flash 的读写时间测试,不过16bit的nand flash 我目前当成8bit的来使用



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。