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]
Other format: [Raw text]

redboot fis trouble


Hello all

I've managed to put my redboot table in an inconsistent state, or so it
seems.  I was hoping someone could either tell me this is normal somehow,
or tell me how I've gone wrong.  I tried creating a 31 MB JFFS2 partition
from a 2.5 MB JFFS2 image.  I did it 2 ways, and both ways I ended up with
this situation.

RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
RedBoot[backup]   0x50040000  0x50040000  0x00040000  0x00000000
RedBoot config    0x51F80000  0x51F80000  0x00001000  0x00000000
FIS directory     0x51FC0000  0x51FC0000  0x00040000  0x00000000
Linux kernel      0x50080000  0x00100000  0x000C0000  0x00000000
JFFS2             0x50140000  0x50140000  0x01E40000  0x00000000
RedBoot> fis free
  0x503C0000 .. 0x51F80000

Note that by the length on the "fis list" above, the JFFS2 partition
should reach from 0x50140000 to 0x51F80000 (that was my goal), yet fis
free shows that much of that region is free.

The rest of this email will show the exact steps I followed to get there.
Thanks in advance for any help.

This was the first thing I tried:
<snip>

RedBoot> load -m ymodem -r -b 0x100000
377500
xyzModem - CRC mode, 20204(SOH)/0(STX)/1(CAN) packets, 6 retries
RedBoot> fis free
  0x50140000 .. 0x51F80000
RedBoot> fis unlock -f 0x50140000 -l 0x1E40000
... Unlock from 0x50140000-0x51f80000: .........................
RedBoot> fis erase -f 0x50140000 -l 0x1E40000
... Erase from 0x50140000-0x51f80000: ..........................
RedBoot> fis write -b 0x100000 -l 0x277500 -f 0x50140000
* CAUTION * about to program FLASH
            at 0x50140000..0x503bffff from 0x00100000 - are you sure
(y/n)? y
... Erase from 0x50140000-0x503c0000: ..........
... Program from 0x00100000-0x00380000 at 0x50140000: ..........
RedBoot> fis create -f 0x50140000 -l 0x1E40000 -n "JFFS2"
... Unlock from 0x51fc0000-0x52000000: .
... Erase from 0x51fc0000-0x52000000: .
... Program from 0x01fbf000-0x01fff000 at 0x51fc0000: .
... Lock from 0x51fc0000-0x52000000: .
RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
RedBoot[backup]   0x50040000  0x50040000  0x00040000  0x00000000
RedBoot config    0x51F80000  0x51F80000  0x00001000  0x00000000
FIS directory     0x51FC0000  0x51FC0000  0x00040000  0x00000000
Linux kernel      0x50080000  0x00100000  0x000C0000  0x00000000
JFFS2             0x50140000  0x50140000  0x01E40000  0x00000000
RedBoot> fis free
  0x503C0000 .. 0x51F80000

</snip>

Once I noticed the problem I backtracked and tried again more directly
like this:
<snip>
RedBoot> fis delete "JFFS2"
Delete image 'JFFS2' - are you sure (y/n)? y
... Erase from 0x50140000-0x51f80000:
................................................................
... Unlock from 0x51fc0000-0x52000000: .
... Erase from 0x51fc0000-0x52000000: .
... Program from 0x01fbf000-0x01fff000 at 0x51fc0000: .
... Lock from 0x51fc0000-0x52000000: .
RedBoot> fis free
  0x50140000 .. 0x51F80000
RedBoot> fis create -b 0x100000 -l 0x1E40000 -s 0x277500 -f 0x50140000
"JFFS2"
... Erase from 0x50140000-0x51f80000:
................................................................
... Program from 0x00100000-0x00377500 at 0x50140000: ..........
... Unlock from 0x51fc0000-0x52000000: .
... Erase from 0x51fc0000-0x52000000: .
... Program from 0x01fbf000-0x01fff000 at 0x51fc0000: .
... Lock from 0x51fc0000-0x52000000: .
RedBoot> fis free
  0x503C0000 .. 0x51F80000

</snip>

And again the same problem.

Sorry for the length of this email, and thanks again for any help.


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