void jz_nand_hardware_test_page (void) { nand_page_info_t *info; unsigned char *pucinfo; unsigned int page,blockid; unsigned char *data_ptr , *readbuff; unsigned int *mybuffer, *mybuffer1; //flash_info_t flashinfo; int k,i,ret; readbuff = (unsigned char *)alloc(BLOCK_SIZE); data_ptr = (unsigned char *)alloc(BLOCK_SIZE); mybuffer = (unsigned int *)data_ptr; mybuffer1 =(unsigned int *)readbuff; jz_nand_init(); //jz_nand_get_info(&flashinfo); blockid = 512; page = blockid * CONFIG_SSFDC_NAND_PAGE_PER_BLOCK; //memset(pucinfo, 0xff, 64); pucinfo = (unsigned char *)alignAlloc(32,10*CONFIG_SSFDC_NAND_PAGE_PER_BLOCK); info =(nand_page_info_t *)pucinfo ; jz_nand_erase_block(0,blockid); // for(i = 0;i < 1;i++) if(1) { for(k = 0;k < BLOCK_SIZE/4 ;k++) mybuffer[k] = k+1; memset(pucinfo, 0xa, 256); jz_nand_write_page(0, page ,data_ptr, info); //info ++; for(k = 0;k < BLOCK_SIZE/4;k++) mybuffer1[k] = 0x0; memset(pucinfo, 0xFF, 256); info =(nand_page_info_t *)pucinfo ; ret = jz_nand_read_page(0, page ,readbuff, info); } unsigned char *ptr3=(unsigned char*)info; for(k = 0;k < 256/8; k++) printf("%x %x %x %x %x %x %x %x\n",*ptr3++,*ptr3++,*ptr3++,*ptr3++, *ptr3++,*ptr3++,*ptr3++,*ptr3++); unsigned char *tempbuf = readbuff;//pucinfo; for(k = 0;k < 512/8; k++) printf("%x %x %x %x %x %x %x %x\n",*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++); while(1); }
void jz_nand_hardware_test_info (void) { nand_page_info_t *info; unsigned char *pucinfo; unsigned int page,blockid; int k ,i; jz_nand_init(); pucinfo = (unsigned char *)alignAlloc(32,256*10); blockid = 512; page = blockid * CONFIG_SSFDC_NAND_PAGE_PER_BLOCK ; //pucinfo = (unsigned char *)(&info); memset(pucinfo, 0x3a3a , 256*10); info = (nand_page_info_t *)pucinfo ; jz_nand_erase_block(0,blockid); for (i =0 ; i < 1 ;i++) { jz_nand_write_page_info(0, page, info); } memset(pucinfo, 0xFFFF , 256*10); info = (nand_page_info_t *)pucinfo ; jz_nand_read_page_info(0, page, info); printf("nand read successful!\r\n"); unsigned char *tempbuf = (unsigned char *)pucinfo; for(k = 0;k < 64/8; k++) printf("0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n",*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++,*tempbuf++); while(1); }
void *uc_memalign_static(unsigned int x,unsigned int size) { return (void *)alignAlloc(x,(unsigned int)size); }