This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Redboot fis load
- From: John Dallaway <john at dallaway dot org dot uk>
- To: Seeberger Marc-René <seebm1 at bfh dot ch>
- Cc: "ecos-discuss at sourceware dot org" <ecos-discuss at sourceware dot org>
- Date: Tue, 18 Jan 2011 09:19:04 +0000
- Subject: [ECOS] Re: Redboot fis load
- References: <7E221E05103BC14885A11709DAAA4CF4015A1F249C@nyx.bfh.ch>
Hi Marc-Rene
Seeberger Marc-René wrote:
> I want to save a stripped ELF file as fis file and later on load and
> execute it with "fis load" and "go" commands. I can load an ELF file
> raw into ram with "load -r -m xmodem -b 0x80000000" and flash it with
> "fis create -b 0x80000000 -l 0x1234 -f 0x60000000 -e 0x80000000 xy.elf"
> or so. But when I try to "fis load xy.elf", the loader only copies the
> ELF file 1:1 into the ram instead of relocating the different sections
> into internal and external ram as defined in the ELF file.
> As we have three sections for internal and two external rams, I won't
> use "load -m xmodem" and then flash three binary files by specifying
> source address, length etc. for each of them and later on do 3 fis load
> commands followed by a go.
> The "load" command is ELF aware, but how can I make the "fis load"
> command ELF aware? We do not have a file system other than the simple
> FIS on our embedded system.
> Thanks for any hint
The ELF parsing code is currently part of the RedBoot "load" command
implementation:
load.c(load_elf_image)
You will need to move the parsing code into a separate function and call
it from the RedBoot "fis load" command implementation in response to a
new 'option' switch on the RedBoot command line:
flash.c(fis_load)
For a truly generic implementation, you should not assume that the flash
is directly addressable.
I hope this helps...
John Dallaway
eCos maintainer
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss