public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Grant Edwards <grante@visi.com>
To: Gary Thomas <gthomas@cambridge.redhat.com>
Cc: Jonathan Larmour <jlarmour@redhat.com>, ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] RedBoot: load.c srecord input offset fix
Date: Fri, 20 Apr 2001 07:31:00 -0000	[thread overview]
Message-ID: <20010420093257.A877@visi.com> (raw)
In-Reply-To: <XFMail.20010420064031.gthomas@cambridge.redhat.com>

On Fri, Apr 20, 2001 at 06:40:31AM -0600, Gary Thomas wrote:

> >> The "offset" variable in load_srec_image() isn't incremented
> >> properly (assuming its purpose is to keep track of the current
> >> byte offset in the input stream).  My version of load.c has
> >> diverged enough that I can't generate a usable patch, so I'll
> >> summarize the changes:
> > [snip]
> > 
> > I'm probably being dumb but this doesn't seem right to me either. If it's
> > purely the offset within the I/O stream, then there should be one per getc.
> > If it's the offset of the decoded data bytes, there should be one for every
> > two chars of actual encoded srec data, and the offset shouldn't be
> > incremented for any of the header or checksum.
> > 
> > What is the "offset" actually meant to _be_ if neither of those two
> > options?
> 
> It's only purpose is to try and provide more information when there is
> damage in the input [stream].  In this case, it _should_ be just a count
> of the calls to getc().
> 
> I'll look at Grant's suggestions and make sure that it really does so.

I added a debugging line to print out the offset value when the
load is finished, and (with my changes) the value printed now
matches the size of the s-record file.  Previously it was
somewhere between the size of the binary and the size of the
s-record file.

I also noticed that the checksum of the entry-address record
(S[789]...) wasn't being verified.

One other change I made that I've found quite useful is to save
the lowest/highest/entry addresses in a globally visible spot
and have the "fis create" command use those values as defaults
if none are provided on the command line.  Loading a file from
a tftp server into flash is now something that can be scripted 
a bit easier using Kermit or some other programmatic interface.

RedBoot> load -h 10.0.0.1 filename.srec
RedBoot> fis create filename


-- 
Grant Edwards
grante@visi.com

      reply	other threads:[~2001-04-20  7:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-19 13:19 Grant Edwards
2001-04-19 13:24 ` [ECOS] " Grant Edwards
2001-04-19 13:37   ` Grant Edwards
2001-04-20  0:11 ` [ECOS] " Jonathan Larmour
2001-04-20  5:40   ` Gary Thomas
2001-04-20  7:31     ` Grant Edwards [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010420093257.A877@visi.com \
    --to=grante@visi.com \
    --cc=ecos-discuss@sources.redhat.com \
    --cc=gthomas@cambridge.redhat.com \
    --cc=jlarmour@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).