[Yaffs] Re: YAFFS2 boot loader
Charles Manning
manningc2 at actrix.gen.nz
Thu Oct 20 23:01:33 BST 2005
On Friday 21 October 2005 03:34, Nick Bane wrote:
> Rakhi
>
> I have some good news. It seems that I need to add yaffs2 root fs
> support for a batch of boards we have just received that have the wrong
> nands on them (2k not 512byte) so forcing the issue.
>
> Over the weekend I will probably sort out some germinal bootldr35 and
> mkyaffsimage2 code and feed it both to husaberg and the list if I get
> the time.
>
> Watch this space.
Hi Nick and Rakhi
Bootloader means many different things to different people.
To some it means the ability for the bootloader to read/write file data.
To others it means the ability for bootloader to read a boot image off
partition.
I tend to use the second term for the purpose of discssions. If, as Nick
suggests, you put the whole of YDI into the bootloader then you get both :-).
The approach of just incorporating yaffs direct is fine, but since yaffs
direct does a full scan it will likely be slower. A stripped down bootloader
will be faster, but more work to accomplish.
YAFFS1's bootloader, yboot.c, is pretty simple. In essence it is a stripped
down version of the normal scanning process. It searches for an object header
matching the name you want to read, then goes back and reads all the data
chunks associated with that file.
A YAFFS2 bootloader is slightly more complex than a YAFFS1 bootloader because
YAFFS2 has no deletion markers. Therefore when you find a chunk, you don't
know for sure that it is the most up to date one, because it might have been
replaced.
The basic strategy for a yaffs2 bootloader is outlined by the
yaffs_ScanBackwards function, but to do this for one file only. There are
unfortunately a few complications here to do with shrink headers etc that
make this non-trivial. THerefore if you have space in your boot rom,
incorporating YDI is perhaps the easiest approach.
As Nick said, most integration issues will boil down to our ECC friend.
As to the mkyaffsimage, there is very little conceptual difference between a
YAFFS1 and YAFFS2 mkyaffsimage. The only difference is in what gets written
to the tags.
-- Charles
More information about the yaffs
mailing list