From: Feliks Date: Tue, 24 Mar 2020 03:04:36 +0000 (-0400) Subject: flush rx buffer when bad crc and fix frame payload length X-Git-Tag: 24jan2021_ls180~522^2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ebdc38fc91d6d0855671128c7b958bd75937eb73;p=litex.git flush rx buffer when bad crc and fix frame payload length --- diff --git a/litex/soc/software/bios/boot.c b/litex/soc/software/bios/boot.c index 41230ec3..62c83e30 100644 --- a/litex/soc/software/bios/boot.c +++ b/litex/soc/software/bios/boot.c @@ -122,6 +122,7 @@ int serialboot(void) printf("Booting from serial...\n"); printf("Press Q or ESC to abort boot completely.\n"); + // send the "magic" request to host for a firmware download c = str; while(*c) { uart_write(*c); @@ -145,18 +146,22 @@ int serialboot(void) int goodcrc; /* Get one Frame */ - frame.length = uart_read(); + frame.payload_length = uart_read(); frame.crc[0] = uart_read(); frame.crc[1] = uart_read(); frame.cmd = uart_read(); - for(i=0;i