แแแ แ แแแแแแแจแแคแแ แแก แแแกแแแแแก แฃแแแ แแแฎแแแ แแ แแแขแแฎแแ แฉแแแ แซแแแแ แฐแแแแ. แฌแแ แกแฃแแจแ แแ แแฅแแแแ แกแแจแฃแแแแแ แแแแแ แฏแแจแ แแกแแ แแแแแแแแแแ, แ แแแแ แแชแแ Zalman VE-400, Zalman ZM-SHE500, Zalman 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 แคแแแจ แแ แแแแ แแแแฎแแแก firmware-แก 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 แแแแ.
แแแแกแแแแแก แแ แแแแแแแแ แจแแแแแแ แแแแแฏแแแ:
- แแแฆแ แแแแแชแแแแ แแแแแแกแแงแ แแแ SPI แคแแแจ แแ แแแแแแแ;
- แชแแแแแแแ แแแแแชแแแแแแก แแแแแงแ แ PSoC แคแแแจ แแ แแแแแแแ;
- แแแแแแกแขแฃแ แ, แ แแ Cypress PSoC-แกแ แแ JMS539-แก แจแแ แแก แแแแฃแแแแแชแแ แ แแแแฃแ แแ แจแแแชแแแก แแแแแแจแแแก;
- แแแแ แฌแแฃแแแ, แ แแ แแแ แแแแก แจแแชแแแแกแแก SPI แคแแแจ แแ แแแแจแ แแ แแคแแ แ แแแแแแฌแแ แแแ;
- แซแแแแแ แแแแ แแแแแ 8051 แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แจแแชแแแ JMS539-แแแ.
3.1. แแแแแชแแแแ แแแแแแกแแงแ แแแแก แแฆแแแ SPI แคแแแจ แแ แแแแแแแ
แแก แแ แแชแแแฃแ แ แซแแแแแ แแแ แขแแแแ:
- แแแแแแแจแแ แแ แแแแแแแ แคแแแจ แแแกแแแก แคแแฎแแแแแ: CLK, MOSI, MISO แแ (แกแฃแ แแแแแกแแแแแ ) EN;
- โแกแแแคแโ แแแแฃแแแแแชแแแแ แกแแแคแแ แแแ แแแแแแฃแ แ แแแแแแแแขแแ แแก แแแแแงแแแแแแ (แแแแแแแงแแแ
Saleae Logic Pro 16 ); - SPI แแ แแขแแแแแแก แแแจแแคแแ แ แแ แจแแแแแแแแก แแฅแกแแแ แขแ CSV-แจแ;
- แแกแแ แแแแแแ
decode_spi.rb แจแแแแแแแแก แแแกแแแแแแแแแแแแ แแ แแแแแแกแแงแ แแแแก แแแกแแฆแแแแ.
แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแก แแแแแแแ แแแแกแแแฃแแ แแแแ แแแ แแแ แแฃแจแแแแก 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
SPI แคแแแจ แแ แแแแแแแ แแแแแแกแแงแ แแแ แ แแ แแแแฆแ, แแแแแแ แแแกแแแแแแแ, แ แแ แแแกแ แแ แแแแแ แแ แแแแชแแแแ JMicron แกแแแแแขแ แแแ แแแฌแงแแแแแแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แจแแแแฎแแ, แ แแแแแแช แฉแแจแแแแแฃแแแ 8051 แแแแ แแแแแขแ แแแแ แจแ. แกแแแฌแฃแฎแแ แแ, SPI แคแแแจ แแ แแแแแก แแแแฆแแแ แฃแกแแ แแแแแ แแฆแแแฉแแแ:
- แ แแแแกแแช PIN แแแแ แแชแแแแแ, แคแแแจ แแแกแแแก แแแแแแกแแงแ แแแ แแแแแ แ แฉแแแ;
- แแแแชแแแแแแแชแแแก แแขแแแแก แจแแแแแ แแแฌแงแแแแแแแ แแ แจแแแแก SPI แคแแแจ แแ แแแแแ.
3.2. แแแแฃแแแแแชแแแแแก แงแแแกแแ
แแก แแ แแก แแ แ-แแ แแ แแแ แแแแก แแแกแแ แแแแแแ, แแฃ แ แแแแแ แฉแแแแ แแแกแฃแฎแแกแแแแแแแ แแแแฃแแแแแชแแแแแก แจแแแแฌแแแแแแ แแแขแแ แแกแแก แแ แแแก/แแแแขแแแขแแกแแแแก. แ แแแแ แช แฃแแแ แแแชแแ, USB-SATA แแแแขแ แแแแ แ แฃแแแแจแแ แแแแ Cypress PSoC LCD-แก แแแแแฅแขแแ แแก CN1-แแ แแ แแ แ แแแแขแแ. แแแแขแแ, แฉแแแ แแฃแแแแจแแ แแแแแ แแแแแแแก แกแแ แจแแกแแแแแแก แคแแฎแก:
- P4, แแแแแแ แจแแงแแแแ/แแแแแแแแแแ;
- P11, I2C SCL;
- P13, I2C SDA.
แจแแแแแ แฉแแแ แแแแฃแจแแแ Saleae แแแแแแฃแ แ แแแแแแแแขแแ แ แแ แฉแแแฌแแ แ แแแแแแแขแฃแ แแแ: "123456~". แจแแแแแแ, แฉแแแ แแฎแแแแแ แจแแแแแ แแแแแ แแแแก.
แแแกแแ แฉแแแ แแฎแแแแแ แแแแแชแแแแ แแแชแแแแก แกแแ แแ แฎแก:
- P4 แแ แฎแแ แแ แแก แ แแแแแแแแ แแแแแ แแคแแแฅแแแ;
- P11-แแ แแ P13-แแ - แแแแฅแแแก แฃแฌแงแแแขแ แแแแแชแแแแ แแแชแแแ.
P4 แแ แฎแแ แแแ แแแ แแฌแแแ แแแแแ แแแกแจแขแแแแ แแแ (แฌแแแ แคแแแฃแ แแจแ แแฃแ แฏแ แแแ แแแฃแแฎแแแ), แฉแแแ แแฎแแแแแ แจแแแแแแก:
แแฅ แฎแแแแแ, แ แแ P4-แแ แแ แแก แแแแฅแแแก 70 ms แแแแแขแแแฃแ แ แกแแแแแแ, แ แแแแแแช แแแแแแแ แแแฉแแแแแแแแ, แ แแ แกแแแแแก แกแแแแแแแก แ แแแก แแแแแจแแแแ. แแฃแแชแ, แแแ แแแแฃแแ แแ แแแก แแแขแแ แแแแก แจแแแแแ แฉแแแ แแแแแชแแแแแก แจแแกแแแแฌแแแแแแ, แแฆแแแแแฉแแแ, แ แแ แแก แแ แแ แแก แกแแแแแก แกแแแแแแ, แแ แแแแ แแฃแแแ แแแแแแ, แ แแแแแแช แแแแแแแก แขแแแขแแ แแ แฆแแแแแแแแก แแแญแแ แแกแแก. แแแแขแแ, แแแแแ แกแแแแแแแก แแก แแแแงแแคแแแแแ แแ แจแแแชแแแก แฉแแแแแแแก แกแแกแแ แแแแแ แแแคแแ แแแชแแแก. แแฃแแชแ, แแก แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แ แแแแ แช แแแแแแแขแแ แ แแแแก แแแกแแแแแแ, แแฃ แ แแแแก แแฆแ แแชแฎแแแก PSoC แแแแแแจแแก แแแญแแ แแก.
แแฃแแชแ, แฃแแฎแแแกแ P4 แแฃแแแ แแแแแแ แชแแขแ แแแแกแฎแแแแแแฃแแแ: แแก แแ แแก แแฃแแแ "แแ แแกแฌแแ แ PIN"-แแกแแแแก!
แแแแแแจแแก แแแญแแ แแก แแ แแคแแแแ แแแแ แฃแแแแแ, แแแแ แแฃแแแ แแแแแแแก แแ แแคแแแแก แแแกแจแขแแแแ แแแ (แฎแแแแฎแแ แแฎแแแแ แแฃแ แฏแ แแแ แแแฃแแฎแแแ), แแแแแฆแแแ:
แแฅ แฉแแแ แแฎแแแแแ แแ แแคแแ แแแแ แกแแแแแแแแก P11-แแ. แแกแ แ แแ, แ แแแแ แช แฉแแแก, แแก แแ แแก แกแแแแแก แกแแแแแแ. แแ P13 แแ แแก แแแแแชแแแแแ. แแแแแแแ แแแ, แ แแแแ แแชแแแแแ แแแแฃแจแ แกแแแแแแแก แแแกแ แฃแแแแแก แจแแแแแ. แกแแแแขแแ แแกแ แแฅแแแแแแ แ แ แฎแแแแ แแฅ.
แแ แแขแแแแแแแ, แ แแแแแแแช แแฃแจแแแแแ แแ แแแแแฃแแแแ, แ แแแแ แช แฌแแกแ, แแ แแก SPI แแ I2C, แฎแแแ Cypress-แแก แขแแฅแแแแฃแ แ แแแฎแแกแแแแแแแแ แแแแแแก, แ แแ แแก แฅแแแซแแกแแแแแแ แจแแแกแแแแแแแ I2C-แก, แ แแช แฉแแแ แแฎแแแแแ, แ แแ แกแแแแ แแแแ แฉแแแแก แจแแแแฎแแแแแจแ:
USB-SATA แฉแแแกแแขแ แแฃแแแแแแ แแขแแ แแแก แแแแแแแแฎแแแก PSoC แแแกแแฆแแแแก แแแแแแแ แแแแแก แฌแแกแแแแแฎแแ, แ แแแแแแช แแแแฃแแแกแฎแแแแแ แแ แแก "0". แจแแแแแ, แ แแแแกแแช แแแแญแแ แแ แฆแแแแแก "1", แแก แแชแแแแแ "1"-แแ. แกแแแแแแ แแแแแชแแแ โ~โ-แแก แแแญแแ แแกแแแแแแ แแแแกแฎแแแแแแฃแแแ, แแฃ แแ แแกแฌแแ แ PIN แแแแแ แจแแงแแแแแแ. แแฃแแชแ, แแ แแ แแแกแแแแก แแ แแ แแแแแแแแแฌแแแแแ แ แแแแฃแ แแ แ แ แฎแแแแ แแฅ. แแแแ แแ แแ แแญแแ แแแฅแแก, แ แแ แแก แแแแแแแแ แกแแแแ แแฃแแแ แแแจแแคแแ แแก แแแกแแฆแแแ. แงแแแแ แจแแแแฎแแแแแจแ, แแฎแแแแ แจแแแแแแ แแแแงแแคแแแแแ แแแแก แแแกแแแแแแ, แแฃ แ แแแแ แฌแแแจแแแ PSoC แจแแแ firmware.
แฌแงแแ แ: www.habr.com