This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: RedBoot: fis create can't find free space
- To: Grant Edwards <grante at visi dot com>
- Subject: RE: [ECOS] RedBoot: fis create can't find free space
- From: Gary Thomas <gthomas at cambridge dot redhat dot com>
- Date: Thu, 26 Apr 2001 18:24:42 -0600 (MDT)
- Cc: ecos-discuss at sourceware dot cygnus dot com
- Organization: Red Hat, Inc.
On 26-Apr-2001 Grant Edwards wrote:
>
> I'm trying to figure out why the flash code in RedBoot can't
> create an image:
>
> RedBoot> load -v -b 0 -r -h 10.0.0.2 socket-1.03.bin
> -
> Raw file loaded 0x00000000-0x0007f958
> RedBoot> fis list
> Name FLASH addr Mem addr Length Entry
> point
> FIS directory 0x053F0000 0x053F0000 0x00010000 0x00000000
> default 0x051B0000 0x00000000 0x00080000 0x00000384
> RedBoot> fis free
> 0x050B0000 .. 0x05130000
> 0x05230000 .. 0x053F0000
> RedBoot> fis create foo
> Can't locate 524288 bytes free in FLASH
> RedBoot>
>
> Firstly, according to "fis list" and "fis free" I've got almost
> 2M of free space between 0x5230000 and 0x53f0000, but "fis
> create" can't find 500K of free space. Any ideas why?
>
> Secondly, I think I've figured out why there's "unfree" flash
> (5030000-50B0000 and 5130000-51B0000))that isn't being used by
> an image.
>
> If I do an "fis create" with an existing image name, that will
> leak flash, right? By "leak" I mean it leaves orphaned "used"
> areas in flash that don't belong to any image. Is that a
> useful feature? I'm thinking of changing the "create" code so
> that doing a "create" with an existing image name deletes the
> old one before creating the new one. I could just tell my
> users never to do an "fis create" with an existing image name,
> but we all know how well instructions like that are followed.
>
There is no positive relationship between 'fis free' and 'fis list'.
The "free" command simply looks for erased blocks.
'fis create' will gladly reuse existing flash space, but it must
match in length. If you need to recreate with a different size,
you should delete and then create.