This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: RedBoot fis command not working?
- To: "Trenton D. Adams" <tadams at theone dot dnsalias dot com>
- Subject: Re: [ECOS] RedBoot fis command not working?
- From: Gary Thomas <gthomas at redhat dot com>
- Date: 21 Sep 2001 07:34:54 +0900
- Cc: 'eCos Discussion' <ecos-discuss at sourceware dot cygnus dot com>
- References: <000601c141ec$dcea8990$090110ac@TRENT>
On Fri, 2001-09-21 at 00:56, Trenton D. Adams wrote:
> RedBoot> fis load RedBoot[backup]
> Not a loadable image
>
> Why won't it work according to the documentation? Why is it not a
> loadable image?
>
Because the "memory address" for the image is not in RAM. The
'fis load' command knows only this address for where to load into.
If it's not in RAM, it can't be loaded.
> I then try the following
>
> RedBoot> fis list
> Name FLASH addr Mem addr Length Entry point
> RedBoot 0xE0000000 0xE0000000 0x00020000 0x00000000
> RedBoot[backup] 0xE0020000 0xE0020000 0x00020000 0x00000000
> RedBoot config 0xE0FC0000 0xE0FC0000 0x00001000 0x00000000
> FIS directory 0xE0FE0000 0xE0FE0000 0x00020000 0x00000000
>
> RedBoot> fis load -b 0x20000 RedBoot[backup]
> RedBoot> dump -b 0x20000 -l 16
> 0x00020000: DAAB 79CA C935 28DA EF17 E4EA FB34 1AA5
> |..y..5(......4..|
> RedBoot> dump -b 0xe0020000 -l 16
> 0xE0020000: 0C70 8AE5 0C30 8AE2 0700 00EA 2C20 1BE5 |.p...0......,
> ..|
>
> I would think that the two memory dumps should be identical. Am I
> missing something? The entry point of RedBoot[backup] is 0x00000000 and
> the mem addr is 0xe0020000 which indicates to me that it's a ROM version
> and not a RAM version. Is this correct? Is that why I'm getting the
> "Not a loadable image"? Either way, the memory dumps should be the same
> because I forced a load by specifying a memory address to load to.
>
>
>
> Here's my RedBoot boot info
> +FLASH: 0xe0000000 - 0xe1000000, 128 blocks of 0x00020000 bytes each.
> IP: 172.16.1.240, Default server: 172.16.1.1
>
> RedBoot(tm) bootstrap and debug environment - built 08:09:02, May 1
> 2001
>
> Platform: Cirrus Logic EDB7211 (ARM 720T)
> Copyright (C) 2000, 2001, Red Hat, Inc.
>
> RAM: 0x00000000-0x00fd7000, 0x00009818-0x00fa7000 available
>
>
> Now this is the weird part. I created my own RAM image, and wrote it
> over RedBoot[backup] with "-e 0x20040 -r 0x20000". Now if I load from
> the fis and compare the memory dumps they are the same. Is this a bug
> in RedBoot maybe?
>
It looks like it works if you've created the image correctly.
Can you make the failure mode happen again, or was it a one-off?
>
> One last thing.
>
> If I do a "load -m xmodem" and then send an srec of a RedBoot ROM image,
> RedBoot accepts the first few bytes, and then hangs. I assume this is
> because it's trying to load the ROM image into 0xe0000000 which is
> flash!? This is because the SREC says that's the memory location right?
> If so, maybe RedBoot could be changed to say something rather than just
> hanging until the transfer is cancelled by the user? Maybe I'm the one
> to make that change if I have time. I would need someone to tell me
> which function/file to look in so I don't waste to much time looking for
> it though.
>
Actually, the 'load' process does abort properly - it's the X-modem
stuff that's probably hanging up. This is somewhat hard problem, but
we've done some work on it recently. Have you tried the most recent
RedBoot sources (since September 10 or so)?