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