void ubcopy (int *data,int size) { renderString(20,29,"XModem transfer progress:"); renderHexU32(45,29,(u32)offset); memcpy ((void *)(UBOOT_ADDR + offset),(void *)data,size); offset += size; return; }
void ubcopy (int *data,int size) { if ( (offset & 0xFF) == 0 ) { renderHexU32(45,29,(u32)offset); } memcpy ((void *)(UBOOT_ADDR + offset),(void *)data,size); offset += size; return; }
static int sd_load(char *name, u8 *address) { WORD read_size; FATFS ffs; FRESULT fres; fres = pf_mount(&ffs); if ( fres ) { return (fres<<16) | 1; } // fres = pf_open("u-boot.bin"); fres = pf_open(name); if ( fres ) { return (fres<<16) | 2; } do { fres = pf_read(address,4096,&read_size); if ( fres ) { return (fres<<16) | 3; } address += read_size; offset += read_size; renderHexU32(45,29,(u32)offset); } while(read_size == 4096); return 0; }
static int cmdline_load(char *name, u8 *address) { WORD read_size; FATFS ffs; FRESULT fres; u8 max_cmdline = 255; fres = pf_mount(&ffs); if ( fres ) { return (fres<<16) | 1; } // fres = pf_open("u-boot.bin"); fres = pf_open(name); if ( fres ) { return (fres<<16) | 2; } db_puts("opened file\n"); do { //fres = pf_read(address,166,&read_size); fres = pf_read(address,max_cmdline,&read_size); if ( fres ) { return (fres<<16) | 3; } address += read_size; offset += read_size; renderHexU32(45,29,(u32)offset); } while(fres!= NULL); return 0; }