[ECOS] NAND flash and JFFS2

Rutger Hofman rutger@cs.vu.nl
Thu Jul 17 13:20:00 GMT 2008

(Sorry if you receive this twice, my bad)

There is a steady flow of questions on the list on NAND flash and/or
JFF2. I think our group will start to do the work for that (if the boss
agrees :-) ).

The mailing list has on 14th jul 2008:
Andrew Lunn wrote:
> On Mon, Jul 14, 2008 at 03:34:49PM +0800, Fisher ZHU wrote:
>> > NAND flash is so prevalent!
>> > Will ECOS support NAND flash later?
> Some NAND flashes are supported, but at the moment this is no central
> support.
> It needs somebody to write the necessary code for all the checksum and
> block management, preferably in a way which is compatible with Linux.
> Feel free to submit a patch...
>      Andrew

And in april 2007:
Jonathan Larmour wrote:
> NAND support is not available in eCosPro either yet, although it's
> something we want to do and have looked very closely at doing already. The
> main bit missing is an equivalent of Linux's MTD layer which does bad block
> management, organises OOB data, etc. There's actually quite a lot of detail
> once you start looking at it (especially since OOB layout differs between
> some NAND parts).
> Jifl

And in Aug 2007:
Gary Thomas wrote:
> FYI, I looked into adding NAND+JFFS2 support some time ago and
> gave up after spending about 3 weeks trying to get it going...
> It might be easier now (the NAND stuff in JFFS2 has changed
> quite a bit, but you'll have to re-port/import the changes
> into eCos as our version is quite ancient)

For our project, we are migrating to NAND flash. We use JFFS2 currently
(on a flash-v2 branch merged into trunk). I think we have to bite the
bullet and do the NAND flash port. Well, I'm not much versed in flash
stuff, so some guidance or pointers are very welcome.

Is this the right way to go:

  = for our own system make/find a NAND flash device driver (we are
switching from XScale to BlackFin BF547 and BF537, not least because of
Marvell's defensive attitude in releasing its documentation). (Yes, we
base our work on the eCos BlackFin port by Andre Liesk, University of

  = do I understand correctly that recent MDT/JFFS2 does the necessary
work to have good support for generic NAND flash?

  = so, then we must merge in a recent version of upstream MDT/JFFS2.
The eCos JFFS2 ChangeLog has this as its most recent entries on MTD:
     > 2005-07-30  Andrew Lunn  <andrew.lunn@ascom.ch>
     >         * Merge to public MTD

     > 2005-01-22  Andrew Lunn  <andrew.lunn@ascom.ch>
     >         * Merge from public MTD.

    How complicated is this going to be?
     - I guess upstream JFFS2 is to do with linux-mtd git. I'll have to
get familiar with that from the ground up.
     - Would it be as easy as
         git diff -date 2005-07-30 -date now | patch eCos JFF2?
       My guess is, not at all. How can I find out at what versions of
git and eCos CVS the various branches up/down occurred?

  = Or should we switch to YAFFS? It seems to have been ported to eCos,
and it claims it is really, really easy to port anyway.

Rutger Hofman
VU Amsterdam

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list