Link to this headingSerial Peripheral Interface Protocol
Serial Interface
CHIPSEC is a framework for analyzing the security of PC platforms including hardware, system firmware (BIOS/UEFI), and platform components.
SPI flash Info - TODO
Link to this headingSPI Pins
Shikra Pins:
- SCK: 1
- SDI: 2
- SDO: 3
- CS: 4
- GND: 18
Arduino Nano ICSP:
| GND(6) | RST(5) |
| MOSI(4) | SCLK(3) |
| 5V(2) | MISO(1) |
BusPirate IO Header:
| GND | 3v3 |
| 5V | ADC |
| VPU | AUX |
| CLK | MOSI/SDI |
| CS | MISO/SDO |
- MOSI: Master data out, slave in (SPI, JTAG), Serial data (1-Wire, I2C, KB), TX* (UART)
- plugged into the SDI of the slave chip and the SDO of the master chip
- MISO: Master data in, slave out (SPI, JTAG) RX (UART)
- plugged into the SDI of the master chip and the SDO of the slave chip
- CLK Clock signal: (I2C, SPI, JTAG, KB)
- CS: Chip select (SPI), TMS (JTAG)
- AUX: Auxiliary IO, frequency probe, pulse-width modulator
- ADC: Voltage measurement probe (max 6volts)
- Vpu: Voltage input for on-board pull-up resistors (0-5volts).
- +3.3v: +3.3 volt switchable power supply
- +5.0v: +5 volt switchable power supply
- GND: Ground, connect to ground of test circuit
Link to this headingFinding Pins with a Logic Analyzer
Link to this headingISP Protocol
Link to this headingISP Programming with Avrdude
ICP is an SPI-based protocol, where the programmer sends special programming commands to the AVR chip along with data to be written to the flash memory.
Write to the chip:
Read from the Chip:
List Chips:
Testing connection and reading Fuses:
Link to this headingISP Programmer (PIC)
Extracting Firmware from Microcontrollers’ Onboard Flash Memory
Link to this heading3-Pin Protocol
Link to this headingFlashrom
Use Tigart with the 8 pin clip for the common 4 pin SPI uart flash chips. Make sure it is in reset mode
Link to this headingDumping Flash
Using BusPirate:
Using Tigard (flashrom):
Using Tigard (pyftdi):
#flash_dump.py
=
=
=
Link to this headingWriting Flash
Using Shikra: