This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RedBoot fis command not working?


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)?



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]