[flashrom] Test report for multiple SPI flash chips on serprog with UNTESTED status
Chi Zhang
zhangchi866 at gmail.com
Wed Apr 3 06:21:07 CEST 2013
在 2013年4月2日 星期二 20:40:39,Stefan Tauner 写道:
> On Wed, 03 Apr 2013 00:11:11 +0800
>
> Chi Zhang <zhangchi866 at gmail.com> wrote:
> > The programmer is my newly built serprog with STM32 MCU. Please refer to
> > https://github.com/dword1511/serprog-stm32vcp .
>
> Nice stuff :) What was the motivation for that project?
> Should we add it to http://flashrom.org/Serprog ?
At first I built a serprog with ATMEGA8L. But that one was slow and requires a
UART to USB bridge and so some extra wirings. As I remember there was a STM32
USB virtual COM port example, I decided to build a serprog without a physical
UART and aim at high speed.
You can put it on the wiki page if you like, I will be very proud of it :)
>
> > These flash chips are first bought to test the programmer rather than
> > flashrom itself :) The programmer has been verified by me with a
> > commercial CH341A-based programmer, and a few bricks as well :)
> >
> > Some performance information about flashrom with these chips can be found
> > at: https://github.com/dword1511/serprog-stm32vcp/blob/master/PERFORMANCE
> > (btw, SST25VF040B is really slow at writing! Is it supposed to be this
> > slow?)
> I think the problem is the AAI write mode. It requires a lot of tiny
> communication steps and this is were serprog, CDC and USB are really bad
> at... (long round trip times).
>
I see. Thanks.
> > The pasted logs are organized in probe-write-read-erase sequences.
> >
> > AT25F512A: http://paste.flashrom.org/view.php?id=1569
>
> Added to my tested_stuff branch.
>
> > AT26DF161A: http://paste.flashrom.org/view.php?id=1570
>
> That one needs some further analysis:
> "Some block protection in effect, disabling... Block protection could
> not be disabled!"
>
Saw that too. But interestingly write and erase still work. Maybe because nWP
is pulled high?
$ flashrom -p serprog:dev=/dev/ttyACM0:4000000,spispeed=36000000 -E
......
$ flashrom -p serprog:dev=/dev/ttyACM0:4000000,spispeed=36000000 -r tmp
......
$ hd tmp
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00200000
$ flashrom -p serprog:dev=/dev/ttyACM0:4000000,spispeed=36000000 -w rand2mb.bin
......
$ flashrom -p serprog:dev=/dev/ttyACM0:4000000,spispeed=36000000 -r tmp
......
$ md5sum rand2mb.bin tmp
31db08a08c250f8848e361271a8d8b4d rand2mb.bin
31db08a08c250f8848e361271a8d8b4d tmp
$ flashrom -p serprog:dev=/dev/ttyACM0:4000000,spispeed=36000000 -E
......
$ flashrom -p serprog:dev=/dev/ttyACM0:4000000,spispeed=36000000 -r tmp
......
$ hd tmp
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00200000
> > EN25F05: http://paste.flashrom.org/view.php?id=1571
>
> Added to my tested_stuff branch.
>
> > MX25L12845E(mistaken as 'MX25L12805(D)'):
> > http://paste.flashrom.org/view.php?id=1572
>
> Macronix really likes to share IDs... we need to look at the 45 series
> more closely.
>
> > Pm25LV010A: http://paste.flashrom.org/view.php?id=1573
>
> Added to my "Refine PMC Pm25LV series" patch.
> http://patchwork.coreboot.org/patch/3926/
>
> You probably want to take a look at this patch too as it adds support
> for the Pm25LD512C you have in your performance file:
> http://patchwork.coreboot.org/patch/3925/
Will test.
>
> > SST25VF040B: http://paste.flashrom.org/view.php?id=1574
> > SST25VF040B with REMS: http://paste.flashrom.org/view.php?id=1575
> > M25P05-A: http://paste.flashrom.org/view.php?id=1576
>
> All added to my tested_stuff branch.
>
> Also, there exists a patch set that adds support for the AT45DB161D,
> but we have not decided if we want to go with that implementation.
> See http://patchwork.coreboot.org/patch/3873/ etc.
AT45 have different pinout with 25 series. I will have to add some wirings.
>
> The two sanyo chips are completely unsupported yet I think...
I found them on my hard disk PCB. No plan for testing them though. They are
still in use.
>
> Thanks a lot for your effort!
More information about the flashrom
mailing list