]>
Commit | Line | Data |
---|---|---|
aae6295c UH |
1 | ------------------------------------------------------------------------------- |
2 | Macronix MX25L1605D (SPI flash chip) | |
3 | ------------------------------------------------------------------------------- | |
4 | ||
5 | This is a set of example captures of a Macronix MX25L1605D (MX25L1605DPI-12G) | |
6 | SPI flash chip (16MBit == 2Mbyte; NOR flash) that is probed, being written to, | |
7 | read, or erased. | |
d83eec54 UH |
8 | |
9 | The SPI programmer hardware used is openbiosprog-spi, see | |
10 | ||
11 | http://randomprojects.org/wiki/Openbiosprog-spi | |
12 | ||
13 | The software used for programming it is flashrom, see | |
14 | ||
15 | http://flashrom.org/FT2232SPI_Programmer | |
16 | ||
d83eec54 | 17 | |
aae6295c UH |
18 | Logic analyzer setup |
19 | -------------------- | |
d83eec54 | 20 | |
f28b538f | 21 | The logic analyzer used for capturing is a ChronoVu LA8 at a sample rate |
aae6295c | 22 | of 25MHz. |
d83eec54 | 23 | |
aae6295c | 24 | The ChronoVu LA8 probes were connected to the MX25L1605D chip like this: |
d83eec54 UH |
25 | |
26 | Probe SPI chip pin | |
27 | ------------------------ | |
f28b538f UH |
28 | 0 (green) CS# |
29 | 1 (orange) SO/SIO1 (a.k.a MISO) | |
30 | 2 (white) SCLK | |
31 | 3 (red) SI/SIO0 (a.k.a MOSI) | |
32 | 4 (gray) WP#/ACC | |
33 | 5 (brown) HOLD# | |
d83eec54 | 34 | |
aae6295c UH |
35 | |
36 | Probing | |
37 | ------- | |
38 | ||
39 | The flashrom command line used was: | |
40 | ||
41 | flashrom -p ft2232_spi:type=2232H,port=A | |
42 | ||
43 | The sigrok command line used was: | |
44 | ||
45 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
46 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
47 | --wait-trigger --triggers 3=1 \ | |
ceb0837e | 48 | -o mx25l1605d_probe.sr |
aae6295c UH |
49 | |
50 | The capturing starts when the SCLK signal is high for the first time | |
51 | (it's low per default). We capture as many samples as fit into the 8MByte | |
52 | buffer of the logic analyzer. | |
53 | ||
54 | The capture might not contain the complete flashrom chip detection sequence. | |
55 | ||
56 | ||
57 | Writing | |
58 | ------- | |
59 | ||
60 | The flashrom command line used was: | |
61 | ||
62 | flashrom -p ft2232_spi:type=2232H,port=A -w filename | |
63 | ||
64 | where 'filename' is a 2MByte file filled with lots of consecutive "HelloWorld" | |
65 | ASCII character strings. | |
66 | ||
67 | The sigrok command line used was: | |
68 | ||
69 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
70 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
ceb0837e | 71 | -o mx25l1605d_write.sr |
aae6295c | 72 | |
f28b538f | 73 | The capture is only partial, it contains a small part of the write process |
d83eec54 | 74 | (it does not contain the chip identification, chip erase, etc. which comes |
f28b538f UH |
75 | before the actual write parts; it also does not contain anything after that, |
76 | the flashrom command took quite a bit longer than what the capture shows). | |
d83eec54 | 77 | |
aae6295c UH |
78 | |
79 | Reading | |
80 | ------- | |
81 | ||
82 | The flashrom command line used was: | |
83 | ||
84 | flashrom -p ft2232_spi:type=2232H,port=A -r dump.dd | |
85 | ||
86 | The sigrok command line used was: | |
87 | ||
88 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
89 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
ceb0837e | 90 | -o mx25l1605d_read.sr |
aae6295c UH |
91 | |
92 | The capture only contains a small part of the read procedure. The data in | |
93 | the chip consists of consecutive "HelloWorld" ASCII strings. | |
94 | ||
95 | ||
96 | Erasing | |
97 | ------- | |
98 | ||
99 | The flashrom command line used was: | |
100 | ||
101 | flashrom -p ft2232_spi:type=2232H,port=A -E | |
102 | ||
103 | The sigrok command line used was: | |
104 | ||
105 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
106 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
ceb0837e | 107 | -o mx25l1605d_erase.sr |
aae6295c UH |
108 | |
109 | The capture does not contain the full erase process, only a small part of it. | |
110 |