Index: ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/redboot/current/ChangeLog,v retrieving revision 1.268 diff -u -5 -r1.268 ChangeLog --- ChangeLog 9 Mar 2009 23:46:01 -0000 1.268 +++ ChangeLog 20 Mar 2009 08:31:13 -0000 @@ -1,5 +1,20 @@ +2009-03-20 John Dallaway + + * doc/redboot_cmds.sgml: Add note concerning the termination of + ELF downloads once all relevant sections have been transferred. + [ Bugzilla 1000711 ] + + * doc/redboot_main.sgml: Update copyright notice. + + * src/main.c (do_baud_rate): Wait for 10s when changing serial + baud to accommodate terminal emulators which do not provide + rapid access to this parameter. + + * src/main.c (do_version): Tidy RAM availability message. + [ Bugzilla 1000712 ] + 2009-03-09 Gary Thomas * src/io.c: Better handling of history - commands now have a [fixed] virtual number over time. This makes !nn work correctly. Fixes BZ#1000714 Index: doc/redboot_cmds.sgml =================================================================== RCS file: /cvs/ecos/ecos/packages/redboot/current/doc/redboot_cmds.sgml,v retrieving revision 1.19 diff -u -5 -r1.19 redboot_cmds.sgml --- doc/redboot_cmds.sgml 29 Jan 2009 17:50:04 -0000 1.19 +++ doc/redboot_cmds.sgml 20 Mar 2009 08:31:15 -0000 @@ -1434,10 +1434,21 @@ on disk. Files to be downloaded may either be executable images in ELF executable program format, Motorola S-record (SREC) format or raw data. + + Note + +When downloading an ELF image, RedBoot will forcibly terminate the transfer +once all the relevant (loadable) ELF sections have been received. This +behaviour reduces download time when using the X/Y modem protocol +over a slow serial connection. However, the terminal emulator may report +that the transfer is incomplete and has been cancelled. Such messages +are normal and may be ignored. + + Examples Download a Motorola S-record (or ELF) image, using TFTP, specifying the Index: doc/redboot_main.sgml =================================================================== RCS file: /cvs/ecos/ecos/packages/redboot/current/doc/redboot_main.sgml,v retrieving revision 1.2 diff -u -5 -r1.2 redboot_main.sgml --- doc/redboot_main.sgml 17 Dec 2008 08:22:45 -0000 1.2 +++ doc/redboot_main.sgml 20 Mar 2009 08:31:15 -0000 @@ -22,10 +22,14 @@ 2000 2001 2002 2003 2004 + 2005 + 2006 + 2007 + 2009 Free Software Foundation, Inc. Documentation licensing terms Index: src/main.c =================================================================== RCS file: /cvs/ecos/ecos/packages/redboot/current/src/main.c,v retrieving revision 1.71 diff -u -5 -r1.71 main.c --- src/main.c 19 Feb 2009 11:44:47 -0000 1.71 +++ src/main.c 20 Mar 2009 08:31:15 -0000 @@ -6,11 +6,11 @@ // //========================================================================== // ####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 Free Software Foundation, Inc. // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 or (at your option) any later // version. @@ -184,19 +184,17 @@ diag_printf("RedBoot is free software, covered by the eCos license, derived from the\n" "GNU General Public License. You are welcome to change it and/or distribute\n" "copies of it under certain conditions. Under the license terms, RedBoot's\n" "source code and full license terms must have been made available to you.\n" "Redboot comes with ABSOLUTELY NO WARRANTY.\n\n"); - diag_printf("RAM: %p-%p, ", (void*)ram_start, (void*)ram_end); - diag_printf("[%p-%p]", mem_segments[0].start, mem_segments[0].end); - diag_printf(" available\n"); + diag_printf("RAM: %p-%p ", (void*)ram_start, (void*)ram_end); + diag_printf("[%p-%p available]\n", mem_segments[0].start, mem_segments[0].end); #if CYGBLD_REDBOOT_MAX_MEM_SEGMENTS > 1 for (seg = 1; seg < CYGBLD_REDBOOT_MAX_MEM_SEGMENTS; seg++) { if (mem_segments[seg].start != NO_MEMORY) { - diag_printf(" %p-%p, ", mem_segments[seg].start, mem_segments[seg].end); - diag_printf("[%p-%p]", mem_segments[seg].start, mem_segments[seg].end); - diag_printf(" available\n"); + diag_printf(" %p-%p ", mem_segments[seg].start, mem_segments[seg].end); + diag_printf("[%p-%p available]\n", mem_segments[seg].start, mem_segments[seg].end); } } #endif #ifdef CYGPKG_REDBOOT_FLASH _flash_info(); @@ -728,11 +726,11 @@ } return; // Couldn't set the desired rate } // Make sure this new rate works or back off to previous value // Sleep for a few seconds, then prompt to see if it works - _sleep(3000); // Give serial time to flush + _sleep(10000); // Give serial time to flush if (!verify_action_with_timeout(5000, "Baud rate changed to %d", new_rate)) { _sleep(500); // Give serial time to flush set_console_baud_rate(old_rate); _sleep(500); // Give serial time to flush return;