]>
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 UH |
34 | GND GND |
35 | ||
aae6295c UH |
36 | |
37 | Probing | |
38 | ------- | |
39 | ||
40 | The flashrom command line used was: | |
41 | ||
42 | flashrom -p ft2232_spi:type=2232H,port=A | |
43 | ||
44 | The sigrok command line used was: | |
45 | ||
46 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
47 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
48 | --wait-trigger --triggers 3=1 \ | |
49 | -o mx25l1605d_probe.sigrok | |
50 | ||
51 | The capturing starts when the SCLK signal is high for the first time | |
52 | (it's low per default). We capture as many samples as fit into the 8MByte | |
53 | buffer of the logic analyzer. | |
54 | ||
55 | The capture might not contain the complete flashrom chip detection sequence. | |
56 | ||
57 | ||
58 | Writing | |
59 | ------- | |
60 | ||
61 | The flashrom command line used was: | |
62 | ||
63 | flashrom -p ft2232_spi:type=2232H,port=A -w filename | |
64 | ||
65 | where 'filename' is a 2MByte file filled with lots of consecutive "HelloWorld" | |
66 | ASCII character strings. | |
67 | ||
68 | The sigrok command line used was: | |
69 | ||
70 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
71 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
c3cbda71 | 72 | -o mx25l1605d_write.sigrok |
aae6295c | 73 | |
f28b538f | 74 | The capture is only partial, it contains a small part of the write process |
d83eec54 | 75 | (it does not contain the chip identification, chip erase, etc. which comes |
f28b538f UH |
76 | before the actual write parts; it also does not contain anything after that, |
77 | the flashrom command took quite a bit longer than what the capture shows). | |
d83eec54 | 78 | |
aae6295c UH |
79 | |
80 | Reading | |
81 | ------- | |
82 | ||
83 | The flashrom command line used was: | |
84 | ||
85 | flashrom -p ft2232_spi:type=2232H,port=A -r dump.dd | |
86 | ||
87 | The sigrok command line used was: | |
88 | ||
89 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
90 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
91 | -o mx25l1605d_read.sigrok | |
92 | ||
93 | The capture only contains a small part of the read procedure. The data in | |
94 | the chip consists of consecutive "HelloWorld" ASCII strings. | |
95 | ||
96 | ||
97 | Erasing | |
98 | ------- | |
99 | ||
100 | The flashrom command line used was: | |
101 | ||
102 | flashrom -p ft2232_spi:type=2232H,port=A -E | |
103 | ||
104 | The sigrok command line used was: | |
105 | ||
106 | sigrok-cli -d 0:samplerate=25mhz --samples 8388608 \ | |
107 | -p '1=CS#,2=MISO,3=SCLK,4=MOSI,5=WP#,6=HOLD#' \ | |
108 | -o mx25l1605d_erase.sigrok | |
109 | ||
110 | The capture does not contain the full erase process, only a small part of it. | |
111 |