[U-Boot] incremental environment updating

Wolfgang Denk wd at denx.de
Mon Apr 13 14:26:57 CEST 2009


Dear Jerry Van Baren,

In message <49E32C3C.8090404 at ge.com> you wrote:
>
> Since flash can change 1s to 0s, but cannot change them back, you could 
> redefine the env storage to be
>    <next><crc><env><NUL>[undefined]
> (note the added <next> at the start).  By definition, the valid env's 
> <next> == 0xFFFFFFFF.  To write a new env, simply write the offset of 
> [undefined] into the <next> location and then write a new env lump.

I see problems with this:

- it's incompatible with the current format, i. e. detection of
  existing old formats needs a special case which is something I
  always consider ugly.

- it works only on NOR flash, not on any media that can be accessed
  only in blocks

- handling of redundant environment becomes a lot more complicated


BTW: what was the exact problem we were trying to solve? Saving the
time it takes to erase one flash sector?

If we have to pay  for  this  with  introducing  a  new,  incomptible
environment format, and probably having to handle NOR flash and other
storage media differently, I doubt if this is worth the effort.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Imagination is more important than knowledge.      -- Albert Einstein


More information about the U-Boot mailing list