public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Grant Edwards <grante@visi.com>
To: "Lewin A.R.W. Edwards" <larwe@larwe.com>
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] RedBoot porting
Date: Mon, 08 Jan 2001 08:24:00 -0000	[thread overview]
Message-ID: <20010108102756.A10465@visi.com> (raw)
In-Reply-To: <4.3.2.7.2.20010108103409.00ae1dc0@larwe.com>

On Mon, Jan 08, 2001 at 10:40:06AM -0500, Lewin A.R.W. Edwards wrote:

> >That's the main reason I'm thinking about running RedBoot from
> >RAM (copy from ROM on startup).  Updating flash while you're
> >running from it is a royal pain.
> 
> Is it even possible? The flash chips I use will only return
> status while in program mode, you can't exec code out of them
> while programming them.

You're not actually fetching instructions from flash while the
burn takes place. The usual method is to copy a small chunk of
code (the routine that does the actual "burn" command and waits
while flash is busy) into RAM and call it from flash.  The
catch is that you have to disable all interrrupts (or anything
that might access flash) until the burn is finished.  If you
can have interrupts disabled for a second or two, it's not a
problem.

> The way I handle flash updates in the current program is to (on
> boot) check removable media for an upgrade file. If one is
> found, I load the whole caboodle into RAM, verify its checksum,
> disable all interrupts and other things, and then jump right
> into the loaded program (which is a standalone OS of its own).
> I erase and program the flash as quickly as possible then reset
> the machine.

That's pretty similar to the way I upgrade flash (in the lab):
shove a stand-alone application into RAM that burns a new
bootloader into flash.  How you get that application into RAM
and running is the trick: if you've already got a working
bootloader, it can read it from removable media, over the
network, through a serial port, etc.

-- 
Grant Edwards
grante@visi.com

  reply	other threads:[~2001-01-08  8:24 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-05  9:49 Grant Edwards
2001-01-05 15:41 ` Jonathan Larmour
2001-01-08  0:08 ` Jesper Skov
2001-01-08  0:29 ` Andrew Lunn
2001-01-08  1:09   ` Jesper Skov
2001-01-08  2:36     ` Andrew Lunn
2001-01-08  3:04       ` Jesper Skov
2001-01-08  7:31   ` Grant Edwards
2001-01-08  7:40     ` Lewin A.R.W. Edwards
2001-01-08  8:24       ` Grant Edwards [this message]
2001-01-08  7:42     ` Gary Thomas
2001-01-08  7:57       ` Grant Edwards
2001-01-08  7:59       ` Andrew Lunn
2001-01-08  8:07         ` Gary Thomas
2001-01-08 14:42 ` Grant Edwards
2001-01-08 16:26   ` Gary Thomas
2001-01-09  7:33     ` Grant Edwards
2001-01-08  4:36 Doug Fraser
2001-01-08  4:54 ` Jesper Skov
2001-01-08  7:34 ` Grant Edwards
2001-01-08  5:32 Doug Fraser
     [not found] <20010108171508.U10158@biferten.ma.tech.ascom.ch>
     [not found] ` <XFMail.20010108095423.gthomas@redhat.com>
2001-01-09  0:50   ` Andrew Lunn
2001-01-09  8:57     ` Grant Edwards
2001-01-09  9:05       ` Andrew Lunn
2001-01-09  9:12         ` Grant Edwards
2001-01-09  9:09       ` Gary Thomas
2001-01-09  9:24         ` Grant Edwards
2001-01-09  9:47         ` Andrew Lunn
2001-01-09 10:08           ` Lewin A.R.W. Edwards
2001-01-09 10:30             ` Grant Edwards
2001-01-09 10:39             ` Andrew Lunn
2001-01-09 11:24               ` Grant Edwards
2003-09-16  2:55 [ECOS] redboot porting yu weiping

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=20010108102756.A10465@visi.com \
    --to=grante@visi.com \
    --cc=ecos-discuss@sources.redhat.com \
    --cc=larwe@larwe.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).