GTA04 Block V4

Ian Stirling OpenMoko at mauve.plus.com
Thu Aug 14 14:15:25 CEST 2008


Werner Almesberger wrote:
> Ian Stirling wrote:
>> Make a 'debug board' available, but much, much cheaper.
>> This would be something like (in basic form)
> 
> This has "too many moving parts" written all over it :-( Granted,
> MPU recovery should be an uncommon event, but we better make it
> simple, lest new surprises grace us with their presence.
> 

Yeah.

> Besides, knowing that there's a reasonable way for everyone to
> restore their firmware removes a lot of the Fear of Change one
> experiences when releasing updates to the world ;-)
> 

This would basically be a 'last chance, should never happen' event.

It's in case someone intentionally unprotects and flashes the bootloader.

(Intentionally, as it requires 2 specific 32 bit words written to the 
flash controller - which should not be present on the device, and be 
communicated to it by the 'flash' program.)

I think the risk - given that:
A) The first four blocks are the only ones write protected, and there is 
no code to write the option byte (needed to update the write protection 
in any code.)

B) The bootloader USB code is never, ever touched, and has extremely 
limited functionality, essentially 'is our supply voltage coming from 
VusbOops, and is button pressed', if yes, drop into flashing mode, or 
debug mode, or boot.

C) The keys for unlocking the flash are never stored on the phone.

The risk of any code in the device accidentally flashing the code are 
vanishingly small - it has to randomly decide to write two specific 32 
bit words to an address it doesn't know.

Malicious code in the device is of course a possibility.

Unfortunately C implies that the phone cannot store information in the
flash, which is a bit of an annoyance.

> For development of the USB firmware loader, the pads for the bed of
> nails should be good enough to access a serial loader port or even
> JTAG (the latter may be overkill, though). Once that simple firmware
> loader is done, it should basically stay the same forever. Someone
> who really wants to go that deep to make changes will probably be
> fine with whatever we use inside Openmoko, even if this means a bit
> of soldering.

This is part of my cunning plan to get a usable connector for expansion 
on the phone :)




More information about the hardware mailing list