Hi everyone, Hi Nico,
Currently there is a regression in flashprog that causes the dediprog
to read wrong data from the flash chip.
I git bisected the issue to the following commit "dediprog: Implement
multi-i/o reads" (a1b7f35).
Here is a sample diff on a W25Q128BV 16MiB chip (left: flashprog read,
right: correct data)
```
< 00000000 9c 90 02 00 d6 00 00 00 05 ff ff ff ff 5a a5 f0
|.............Z..|
< 00000010 0f 03 00 04 00 08 02 10 5a 30 03 34 00 00 00 20
|........Z0.4... |
< 00000020 00 ff ff ff ff ff ff ff ff ff ff ff ff f5 fc 50
|...............P|
< 00000030 12 21 42 60 ad b7 b9 c4 c7 ff ff ff ff 00 00 00
|.!B`............|
< 00000040 00 00 04 ff 0f 03 00 ff 03 01 00 02 00 ff 7f 00
|................|
< 00000050 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00
|................|
< *
< 00000070 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 00 0f a0
|................|
< 00000080 00 00 0d 40 00 00 09 80 00 00 00 00 00 00 01 01
|...@............|
< 00000090 10 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff
|................|
---
> 00000000 11 00 00 9c 90 02 00 d6 00 00 00 05 ff ff ff ff
|................|
> 00000010 5a a5 f0 0f 03 00 04 00 08 02 10 5a 30 03 34 00
|Z..........Z0.4.|
> 00000020 00 00 20 00 ff ff ff ff ff ff ff ff ff ff ff ff |..
.............|
> 00000030 f5 fc 50 12 21 42 60 ad b7 b9 c4 c7 ff ff ff ff
|..P.!B`.........|
> 00000040 00 00 00 00 00 04 ff 0f 03 00 ff 03 01 00 02 00
|................|
> 00000050 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00
|................|
> *
> 00000080 00 0f a0 00 00 0d 40 00 00 09 80 00 00 00 00 00
|......@.........|
> 00000090 00 01 01 10 00 00 00 00 ff ff ff ff ff ff ff ff
|................|
[...]
```
With flashprog I always get the same wrong data result, so this is
probably a deterministic problem.
Do you know what the problem might be? Let me know if you want me to
test a patch or provide additional information.
Thanks
Marcello