From a17e307acfb545a66436d6197ebcf75c5e140155 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Sat, 9 Nov 2019 00:00:55 +0100 Subject: [PATCH] bios/flash: minor cleanup on serialboot flashing, add flash address support --- litex/soc/software/bios/boot.c | 8 ++++---- litex/tools/litex_term.py | 10 +++------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/litex/soc/software/bios/boot.c b/litex/soc/software/bios/boot.c index f1b22966..0eabf6d5 100644 --- a/litex/soc/software/bios/boot.c +++ b/litex/soc/software/bios/boot.c @@ -103,9 +103,9 @@ static int check_ack(void) static uint32_t get_uint32(unsigned char* data) { return ((uint32_t) data[0] << 24) | - ((uint32_t) data[1] << 16) | - ((uint32_t) data[2] << 8) | - (uint32_t) data[3]; + ((uint32_t) data[1] << 16) | + ((uint32_t) data[2] << 8) | + (uint32_t) data[3]; } #define MAX_FAILED 5 @@ -200,7 +200,7 @@ int serialboot(void) failed = 0; addr = get_uint32(&frame.payload[0]); - + for (i = 4; i < frame.length; i++) { // erase page at sector boundaries before writing if ((addr & (SPIFLASH_SECTOR_SIZE - 1)) == 0) { diff --git a/litex/tools/litex_term.py b/litex/tools/litex_term.py index 9e20530a..68a4dff7 100755 --- a/litex/tools/litex_term.py +++ b/litex/tools/litex_term.py @@ -201,12 +201,9 @@ class LiteXTerm: f.seek(0, 2) length = f.tell() f.seek(0, 0) - if self.flash: - print("[LXTERM] Flashing {} ({} bytes)...".format(filename, length)) - current_address = 0 - else: - print("[LXTERM] Uploading {} to 0x{:08x} ({} bytes)...".format(filename, address, length)) - current_address = address + print("[LXTERM] {} {} to 0x{:08x} ({} bytes)...".format( + "Flashing" if self.flash else "Uploading", filename, address, length)) + current_address = address position = 0 start = time.time() remaining = length @@ -368,7 +365,6 @@ def main(): term = LiteXTerm(args.serial_boot, args.kernel, args.kernel_adr, args.images, args.no_crc, args.flash) term.open(args.port, int(float(args.speed))) term.console.configure() - term.start() term.join(True) -- 2.30.2