INT32S NAND_ReadSector(INT32U blkno , INT32U blkcnt , INT32U buf) { INT16U ret; NVRAM_OS_LOCK(); ret = DrvNand_read_sector(blkno + Nand_part0_Offset_Get(), blkcnt , buf); NVRAM_OS_UNLOCK(); return ret; }
void read_write_code(void) { #if 0 UINT32 i,j; UINT32 ret; UINT8 *buffer1; UINT8 *buffer2; unsigned long test_loop = 0; buffer1 = (UINT8*)kmalloc(512, GFP_DMA); //parse header时,page size最大为1024 buffer2 = (UINT8*)kmalloc(512, GFP_DMA); //parse header时,page size最大为1024 if((buffer1==0)||(buffer2==0)) { printk("Can`t malloc test buffer \n"); return; } while(1) { for(j = 0;j < 10240;j++) { memset(buffer1,j,512); ret = DrvNand_write_sector(j, 1, (UINT32)buffer1,0); if(ret != 0) { NF_TEST_DIAG("DrvNand_write_sector Fail!! loop:%d \n",test_loop); while(1); } else { printk("write sector 0x%x ok loop:%d \n",j,test_loop); } } for(j = 0;j < 10240;j++) { memset(buffer1,j,512); ret = DrvNand_read_sector(j, 1, (UINT32)buffer2,0); if(ret != 0) { NF_TEST_DIAG("DrvNand_read_sector Fail!!,loop:%d \n",test_loop); while(1); } if(!memcmp(buffer1,buffer2,512)) { printk("CMP sector 0x%x ok loop:%d \n",j,test_loop); } else { printk("CMP sector 0x%x failed loop:%d------> \n",j,test_loop); for(i=0;i<512;i++) { printk(" 0x%x ",buffer1[i]); } for(i=0;i<512;i++) { printk(" 0x%x ",buffer2[i]); } while(1); } } test_loop++; } DrvNand_flush_allblk(); #endif }