X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Ffwflash.c;h=26a68a8198065f095ed306618faf003de87814e9;hp=7c9551f14f7837e9d0549233acd64e6c2aae00da;hb=HEAD;hpb=afe6191925fbdac90169ed8a463bd9928276a863 diff --git a/betty/fwflash.c b/betty/fwflash.c index 7c9551f..26a68a8 100644 --- a/betty/fwflash.c +++ b/betty/fwflash.c @@ -272,8 +272,11 @@ void flash_chip_erase(u8 bank) { else status=B2F; - if(status&0x80) + if(status&0x80) { + /* send an ack */ + uart0_send_byte(status); break; + } } } @@ -313,6 +316,9 @@ int flash_write(u32 addr,u16 data) { u16 check; + if(data==0xffff) + return 0; + *((unsigned volatile short *)addr)=0xa0; *((unsigned volatile short *)addr)=data; while(1) { @@ -348,11 +354,9 @@ int receive_data_and_write_to_flash(u32 addr,u32 datalen) { ret=0; for(i=0;i=BANK2)&(addr+datalen<=BANK2+BANK_SIZE)) uart0_send_buf16((u16 *)addr,datalen); - if((addr>=BOOTLOADER)&(addr+datalen<=BOOTLOADER+BL_SIZE)) + if((addr>=BOOTLOADER)& + (addr+datalen