else
status=B2F;
- if(status&0x80)
+ if(status&0x80) {
+ /* send an ack */
+ uart0_send_byte(status);
break;
+ }
}
}
u16 check;
+ if(data==0xffff)
+ return 0;
+
*((unsigned volatile short *)addr)=0xa0;
*((unsigned volatile short *)addr)=data;
while(1) {
ret=0;
for(i=0;i<datalen/2;i++) {
byte=uart0_get_byte();
- uart0_send_byte(byte);
data=byte;
cksm+=byte;
byte=uart0_get_byte();
- uart0_send_byte(byte);
cksm+=byte;
data|=byte<<8;
if(flash_write(addr,data)<0)
unlock_bypass_reset(bank);
/* modify cksm on purpose, so the user knows ... */
- cksm+=1;
+ if(ret==-1)
+ cksm+=1;
/* send the cksm */
uart0_send_byte(cksm);