GDB support for Flash memory programming

Steven Johnson sjohnson@sakuraindustries.com
Sat May 27 00:02:00 GMT 2006


Jim Blandy wrote:

>
>On the board I happen to have handy, it takes 26 seconds to write a
>full 128k flash sector over the JTAG interface.  Unless this is
>extremely slow compared to what's typical out there, I'd tend to agree
>that preserving unloaded sector contents is important to leave
>optional, or not require at all.  I wouldn't mind waiting a handful of
>seconds, but even ten would be too long.
>  
>
Yes, also, you don't want (or need) to do it if the whole sector is
going to be programmed.  Maybe another memory attribute would be
"Preserve unaltered contents of flash on reprogram"

To put it in perspective (I don't know what type of flash you have, if
you give me a part number, I'd be interested to do this analysis on your
part),

Using an accelerated buffer programming algorithm for the Spansion S29GL
family of flash the following is the theoretical typical case sector
programming time:

Typical time to program 32 bytes = 240us
Therefore 128K Bytes / 32 * 240us = 983ms total typical sector
programming time

It might be an unfair comparison, so using the traditional "Byte at a
time" algorithm for the same family, we get:

Typical time to program 1 byte = 60us
Therefore 128K Bytes * 60us = 7.8 seconds total typical sector
programming time

Both of which are significantly under your JTag Speeds to do the same
operation.

However that said, your Jtag speeds are very respectable, I've seen lots
worse, 10-20 (or more) times slower programming of flash over Jtag.

Steven J




More information about the Gdb mailing list