ืืืคืื ืืคืจืืฆื ืฉื ืืื ื ืื ืืืฆืื ืืื ืืืฆืคื ื ืขืฆืืืช ืื ืืชืืืื ืืืฉื ืฉืื. ืืขืืจ ืืืืชื ืื ืืืืื ืืช ืืืชืืื ืขื ืืืืื ืืื ืืืื VE-400, ืืืื ZM-SHE500, ืืืื ZM-VE500. ืจืง ืืืืจืื ื ืืืื ืื ืขืืืช ืชืขืจืืื ื ืืกืคืช: Patriot (Aigo) SK8671, ืืื ืืื ืืคื ืขืืฆืื ืืืคืืกื - ืืืืื LCD ืืืงืืืช ืืืื ืช ืงืื PIN. ืื ืื ืฉืืฆื ืืืโฆ
1. ืืืื
ืืืืจ
ืืจืืื
ืืืืฉื ืื ืชืื ืื ืืืืืืกื ืื ืืืืกืง, ืืืืฆืคื ืื ืืืืืื, ืืชืืฆืขืช ืืืืจ ืืื ืช ืงืื ื-PIN. ืืื ืืขืจืืช ืืืื ืขื ืืืฉืืจ ืื:
- ืืื ืืฉื ืืช ืืช ืงืื ื-PIN, ืขืืื ืืืืืฅ ืขื F1 ืืคื ื ืืืืื ืื ืขืืื;
- ืงืื ื-PIN ืืืื ืืืืื ืืื 6 ื-9 ืกืคืจืืช;
- ืืืืจ 15 ื ืืกืืื ืืช ืฉืืืืื, ืืืืกืง ื ืืืง.
2. ืืจืืืืงืืืจืช ืืืืจื
ืจืืฉืืช, ืื ื ืื ืชืืื ืืช ืืืืฉืืจ ืืืืงืื ืืื ืืืืื ืืืืื ืจืืืืื ืืื ืืืจืื. ืืืฉืืื ืืื ืืืืืขืช ืืื ืคืชืืืช ืืชืืง: ืืจืื ืืจืืื ืืคืืกืืืง ืืืงืจืืกืงืืคืืื. ืืืืจ ืคืชืืืช ืืืืจื, ืื ื ืจืืืื ืืช ืืืืจืื ืืืืื (ืฉืืื ืื ืืืืืจ ืืืืฉื ืคืื ืื ืฉืืืืืชื):
2.1. ืืื ืจืืฉื
ืืืื ืืจืืฉื ืื ืคืฉืื:
ืืืืงืื ืืืืืืื ืฉืื (ืจืื ืืืืขืื ืืืื):
- ืืืืจ ืขืืืจ ืืืืื LCD (CN1);
- ืืืืืืจ (SP1);
- Pm25LD010 (
ืืคืจื ) ืืื ื ืืืืง SPI (U2); - ืืงืจ Jmicron JMS539 (
ืืคืจื ) ืขืืืจ USB-SATA (U1); - ืืืืจ USB 3 (J1).
ืืื ื ืืืืง SPI ืืืืกื ืืช ืืงืืฉืื ืขืืืจ JMS539 ืืืืืจืืช ืืกืืืืืช.
2.2. ืืื ืืืืื LCD
ืืื ืฉืื ืืืจ ืืืฆื ืืืคื ืขื ืืื ื-LCD.
ืจืง:
- ืืืืื LCD ืืืงืืจ ืื ืืืืข (ืื ืจืื ืขื ืกื ืืืคื ืกืื ื); ืขื ืฉืืืื ืืจืฆืฃ;
- ืืืืจ ืกืจื ืืืื ืืงืืืช.
2.3. ืืื ืืงืืืช
ืืืฉืจ ืืืื ืื ืืช ืืื ืืืงืืืช, ืืืืจืื ืืงืืืื ืชืคื ืืช ืืขื ืืื ืช ืืืชืจ.
ืืื, ืืฆื ืืืืืจื, ืื ื ืจืืืื ืืืืจ ืกืจื, ืืื ืื Cypress CY8C21434 ืืืงืจื-ืืงืจ PSoC 1 (ืืืื ืคืฉืื ื ืงืจื ืืื PSoC)
CY8C21434 ืืฉืชืืฉ ืืขืจืืช ืืืืจืืืช M8C (ืจืื
2.4. ืืกืชืื ืขื ืืืืืื
ืืืื ื ืืื ืื ืงืฉืืจ ืืื. ืืื ืืขืฉืืช ืืืช, ืคืฉืื ืืืืง ืืช ืืืืืื ืขื ืืืื:
ืืกืืจืื ืืชืจืฉืื ืื ืฉืฆืืืจ ืขื ืืืจื:
- ื-PSoC ืืชืืืจ ืืืคืจื ืืืื ื;
- ืืืืืจ ืืื, ืื ืฉืืืืื, ืืื ืืืฉืง ISSP, ืฉืืชืืื, ืืคื ืจืฆืื ืืืืจื, ืืื ืฉืืชืื ืขืืื ืืืื ืืจื ื;
- ืืืืืจ ืืืื ื ืืืืชืจ ืืื ืืืกืืฃ ืขืืืจ ืืืืจ ืืกืจื ืืืื ืืืงืืืช;
- ืืืืื ืืฉืืืจ ืืื ืฆืืืจ ืฉื ืืืืจ CN1, ืฉื ืืขื ืืืืจ ืืช ืืืื ืืจืืฉื ืืืื ื-LCD. P11, P13 ื-P4 ืืืืืจืื ืืคืื ื PSoC 11, 13 ื-4, ืืืื ื-LCD.
3. ืจืฆืฃ ืฉืืื ืืชืงืคื
ืืขืช, ืืืฉืจ ืื ื ืืืืขืื ืืืืื ืจืืืืื ืืืจืื ืืืื ื ืืื, ืขืืื ื: 1) ืืืืื ืฉืคืื ืงืฆืืื ืืืืช ืืืฆืคื ื ืืืกืืกืืช ืืื ืงืืืืช; 2) ืืื ืืืฆื ืืคืชืืืช ืืฆืคื ื ื ืืฆืจืื/ื ืฉืืจืื; 3) ืืฆื ืืืื ืืืืืง ืืืืืง ืงืื ื-PIN.
ืืฉื ืื ืขืฉืืชื ืืช ืืฉืืืื ืืืืื:
- ืืงื dump ื ืชืื ืื ืืืื ื ืืืืง ืฉื SPI;
- ื ืืกื ืืืจืืง ื ืชืื ืื ืืืื ื ืืืืง PSoC;
- ืืืืช ืฉืืชืงืฉืืจืช ืืื Cypress PSoC ื-JMS539 ืืืืื ืืืขืฉื ืืงืฉืืช;
- ืืืืืชื ืฉืืืฉืจ ืืฉื ืื ืืช ืืกืืกืื, ืฉืื ืืืจ ืื ืืืืืฃ ืืืื ื ืืืืืง ืฉื SPI;
- ืืชืขืฆื ืืืื ืืืคืื ืืช ืืงืืฉืื 8051 ื-JMS539.
3.1. ืืืฆืืช dump ื ืชืื ืื ืืืื ื ืืืืง ืืกืื SPI
ืืืื ืื ืคืฉืื ืืืื:
- ืืืจ ืืืืงืืช ืืจืืื ืืื ื ืืืืง: CLK, MOSI, MISO ื-EN (ืืืคืฆืืื ืื);
- ืชืงืฉืืจืช "ืจืืจื" ืขื ืืจืืจื ืืืืฆืขืืช ืื ืชื ืืืื (ืืฉืชืืฉืชื
Saleae Logic Pro 16 ); - ืคืขื ืื ืคืจืืืืงืื SPI ืืืืฆืื ืชืืฆืืืช ื-CSV;
- ืื ืฆื
decode_spi.rb ืืื ืื ืชื ืืช ืืชืืฆืืืช ืืืงืื dump.
ืฉืืื ืื ืฉืืืฉื ืื ืขืืืืช ืืื ืืืืืื ืืืงืจื ืฉื ืืงืจ JMS539, ืืืืืื ืฉืืงืจ ืื ืืืขื ืืช ืื ืืงืืฉืื ืืืื ื ืืืืืง ืืฉืื ืืืชืืื.
$ decode_spi.rb boot_spi1.csv dump
0.039776 : WRITE DISABLE
0.039777 : JEDEC READ ID
0.039784 : ID 0x7f 0x9d 0x21
---------------------
0.039788 : READ @ 0x0
0x12,0x42,0x00,0xd3,0x22,0x00,
[...]
$ ls --size --block-size=1 dump
49152 dump
$ sha1sum dump
3d9db0dde7b4aadd2b7705a46b5d04e1a1f3b125 dump
ืืืืจ ืฉืืงืืชื dump ืืืื ื ืืืืง ืฉื SPI, ืืืขืชื ืืืกืงื ื ืฉืืืฉืืื ืืืืืื ืฉืื ืืื ืืืืกื ืืช ืืงืืฉืื ืขืืืจ ืืชืงื ืืืงืจื JMicron, ืืืืื ื ืืืืงืจื-ืืงืจ 8051. ืืจืืข ืืืื, ืืจืืงื ืฉื ืืื ื ืืืืืง ืฉื SPI ืืชืืจืจื ืืืกืจืช ืชืืขืืช:
- ืืืฉืจ ืงืื ื-PIN ืืฉืชื ื, dump ืืื ื ืืืืืง ื ืฉืืจ ืืื;
- ืืืืจ ืฉืื ืืืชืืื, ืืืืฉืืจ ืืื ื ื ืืืฉ ืืืื ื ืืืืง ืฉื SPI.
3.2. ืืจืืจื ืชืงืฉืืจืช
ืืืื ืืืช ืืืจืืื ืืืฆืื ืืืื ืฉืื ืืืจืื ืืืืืงืช ืืชืงืฉืืจืช ืืืื/ืืชืืื ืฉื ืืขื ืืื. ืืคื ืฉืื ื ืืืจ ืืืืขืื, ืืงืจ ื-USB-SATA ืืืืืจ ื-Cypress PSoC LCD ืืืืฆืขืืช ืืืืจ CN1 ืืฉื ื ืกืจืืื. ืืื, ืื ื ืืืืจืื ืืช ืืืฉืืฉืืืช ืืฉืืืฉ ืืจืืืืื ืืืชืืืืืช:
- P4, ืงืื/ืคืื ืืืื;
- P11, I2C SCL;
- P13, I2C SDA.
ืืืืจ ืืื ืื ื ืืคืขืืืื ืืช ืื ืชื ืืืืืืื ืฉื Saleae ืื ืืื ืืืงืืืช: "123456~". ืืชืืฆืื ืืื, ืื ื ืจืืืื ืืช ืืชืจืฉืื ืืื.
ืขืืื ืื ื ืืืืืื ืืจืืืช ืฉืืืฉื ืขืจืืฆื ืืืืืคื ื ืชืื ืื:
- ืืฉ ืืื ืคืจืฆืื ืงืฆืจืื ืืขืจืืฅ P4;
- ื-P11 ื-P13 - ืืืืืคื ื ืชืื ืื ืืืขื ืจืฆืืคืื.
ืืืชืงืจืืืช ืขื ืืฉืคืืฅ ืืจืืฉืื ืืขืจืืฅ P4 (ืืืื ืืืื ืืืืืจ ืืงืืื), ืื ื ืจืืืื ืืช ืืืืจืื ืืืืื:
ืืื ืืชื ืืืื ืืจืืืช ืฉื-P4 ืืฉ ืืืขื 70ms ืฉื ืืืช ืืื ืืืื ื, ืฉืืืชืืื ื ืจืื ืื ืืืื ืืช ืืชืคืงืื ืฉื ืืืช ืฉืขืื. ืขื ืืืช, ืืืืจ ืฉืืืืืชื ืืื ืื ืืืืืงืช ืื ืืืืฉ ืฉืื, ืืืืืชื ืฉืื ืื ืืืช ืฉืขืื, ืืื ืืจื ืฉืืข ืฉืืืคืง ืืืืืืืจ ืืขืช ืืืืฆื ืขื ืืืงืฉืื. ืืื, ืืืง ืื ืฉื ืืืืช ืขืฆืื ืืื ื ืืืื ืืืืข ืฉืืืืฉื ืขืืืจื ื. ืขื ืืืช, ืื ืืืื ืืฉืืฉ ืืืื ืืืงืืืจ ืืื ืืืขืช ืืชื ื-PSoC ืจืืฉื ืืืืฆื ืขื ืืงืฉ.
ืขื ืืืช, ืืจื ืืืืืื ืืืืจืื ืฉื P4 ืฉืื ื ืืืงืฆืช: ืื ืืืืืื ืฉื "ืืงืื ื-PIN ืืื ืืืงื"!
ื ืืืืจ ืืืจืฃ ืืงืฉื, ืชืื ืืชืงืจืืืช ืืืจืฃ ืืจื ืืฉืืข ืืืืจืื (ืจืื ืฉืื ืืช ืืืืื ืืืืื), ื ืงืื:
ืืื ืื ื ืจืืืื ืืืชืืช ืืื ืืืื ืืื ื-P11. ืื ืื ื ืจืื ืืืืื ืื ืืืช ืืฉืขืื. ื-P13 ืื ื ืชืื ืื. ืฉืืื ืื ืืืฆื ืืืคืืก ืืฉืชื ื ืืืืจ ืกืืื ืืฆืคืฆืืฃ. ืืืื ืืขื ืืื ืืจืืืช ืื ืืงืจื ืืื.
ืคืจืืืืงืืืื ืฉืขืืืืื ืขื ืฉื ื ืืืืื ืื ืืืจื ืืื SPI ืื I2C, ืืืืคืจื ืืืื ื ืขื Cypress ืงืืืข ืฉืืคืื ืื ืืืื ืชืืืืื ื-I2C, ืื ืฉืื ื ืจืืืื ื ืืื ืืืงืจื ืฉืื ื:
ืขืจืืช ืืฉืืืื USB-SATA ืกืืงืจืช ืื ืืืื ืืช ื-PSoC ืืื ืืงืจืื ืืช ืืฆื ืืืคืชื, ืฉืืื ืืืจืืจืช ืืืื "0". ืืืืจ ืืื, ืืืฉืจ ืืชื ืืืืฅ ืขื ืืงืฉ "1", ืืื ืืฉืชื ื ื"1". ืืฉืืืืจ ืืกืืคื ืืื ืืืืจ ืืืืฆื ืขื "~" ืฉืื ื ืื ืืืื ืงืื PIN ืฉืืื. ืขื ืืืช, ืืจืืข ืื ืืืงืชื ืื ืืขืฆื ืืืขืืจ ืฉื. ืืื ืื ื ืืืฉื ืฉืื ืกืืืจ ืฉืื ืืืื ืืคืชื ืืฆืคื ื. ืืื ืืงืจื, ืขืืื ืืกืขืืฃ ืืื ืืื ืืืืื ืืืฆื ืืกืจืชื ืืช ืืงืืฉืื ืืคื ืืืืช ืฉื PSoC.
ืืงืืจ: www.habr.com