This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
[trunk+v3] RedBoot tweaks
- From: John Dallaway <john at dallaway dot org dot uk>
- To: ecos-patches at ecos dot sourceware dot org
- Date: Fri, 20 Mar 2009 08:42:24 +0000
- Subject: [trunk+v3] RedBoot tweaks
* 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 ]
Checked-in.
John Dallaway
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 <john@dallaway.org.uk>
+
+ * 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 <gary@mlbassoc.com>
* 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.
</para>
+ <note>
+ <title>Note</title>
+ <para>
+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.
+ </para>
+ </note>
</refsect1>
<refsect1>
<title>Examples</title>
<para>
Download a Motorola S-record (or ELF) image, using <acronym>TFTP</acronym>, 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 @@
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
+ <year>2005</year>
+ <year>2006</year>
+ <year>2007</year>
+ <year>2009</year>
<holder>Free Software Foundation, Inc.</holder>
</copyright>
<legalnotice>
<title>Documentation licensing terms</title>
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;