bullshit commit, sync for travel (to zn00H!) :)
[my-code/arm.git] / betty / fwflash.c
index fd8d31b..26a68a8 100644 (file)
@@ -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;
+               }
        }
 }
 
@@ -351,11 +354,9 @@ int receive_data_and_write_to_flash(u32 addr,u32 datalen) {
        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)
@@ -466,7 +467,8 @@ int main(void) {
                                uart0_send_buf16((u16 *)addr,datalen);
                        if((addr>=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<BOOTLOADER-1+BL_SIZE))
                                uart0_send_buf32((u32 *)addr,datalen);
                        break;
                case CMD_WRITE: