Making Neo Brickproof, was comments after reading Wiki

Werner Almesberger werner at openmoko.org
Thu May 17 14:19:21 CEST 2007


Simon Matthews wrote:
> I would have thought it would be nice to avoid an extra chip.

Yeah, we tried, but it just doesn't seem to be possible :-( There
are some alternatives, but they then lead to other problems, such
as chips not being available in quantity, etc. (And we've had our
number of surprises with that. Once bitten, ...)

> Of course this [OTP} would only be any good if it could be mapped to the
> addresses that get downloaded by the CPU before it starts.

That's in NAND Flash, which isn't really mapped. Instead, you transfer
data in pages. So it's more like a disk than RAM. The MCU has a
build-in boot loader that does this, but it doesn't know about OTP.
Besides, that OTP can still be changed.

> I see a couple of problems with having one large complex bootloader. If
> it is large and complex there is more chance it will need to be changed
> due to changes in functionality or bugs.

No, I don't think this will be needed. The basic recovery functions
will be exercised well enough. To the contrary, since this is code
we already use daily, it's more likely to be correct than a
special-purpose loader that only gets used rarely.

Even better: a more general recovery loader will give you more than
one way to do things (e.g., SD card and USB), so even if one method
fails, you still have a backup.

> but wonder how hard it would be to write a very basic USB driver with
> just enough functionality to do the job of downloading some fixed format
> data from a host.

You'd have to ask Harald for comments on USB (among other things,
he implemented DFU in u-boot),  but my impression is that it's hard
and messy enough that nobody wants to maintain yet another stack.

- Werner

-- 
  _________________________________________________________________________
 / Werner Almesberger, Buenos Aires, Argentina     werner at almesberger.net /
/_http://www.almesberger.net/____________________________________________/




More information about the community mailing list