Glitching

From Vita Development Wiki
Revision as of 16:33, 9 July 2018 by Yifan Lu (talk | contribs)
Jump to navigation Jump to search

eMMC

CMD, CLK, and DAT0 are needed to flash the eMMC. Note that the Vita uses 1.8V logic and most if not all SD card adapters use 3.3V logic so unlike other devices you cannot just solder to a standard SD card adapter! psvemmc v1.2+ contain level translation that allow you to safely interface with the Vita eMMC.

Connection

Vita nand testpoint 1.jpg

Use 28AWG wire to solder directly to the termination resistor. There are no testpoints. For the clock signal, there are two different spots. Solder to the yellow if you wish to drive the eMMC clock (flashing with psvemmc for example). Solder to the orange if you only wish to probe the eMMC. The reason for this discrepancy is because the CLK is push-pull drive and at 1.8V it is harder for the adapter to "fight" Kermit in controlling the clock signal if you solder too close to it. If you are too far though, you won't get a good signal for sniffing at 50MHz. Currently, the solution is to use two different pads.

You need the Vita to power the eMMC so it has to be turned on before you can attach an external adapter. However, the Vita will not stop trying to drive the eMMC clock until after boot is done. This means you should not try to connect an external adapter until after the Vita is idling in shell or safe mode. If you are not able to boot into either modes, an alternative is to hold Kermit in reset. The pulldown resistor for RESET_N is boxed in yellow.

Reset pinout.png

ChipWhisperer

psvemmc v2.0+ has an interface for connecting the chipwhisperer lite through a 20-pin connector.

Number Name Dir Description
1 N/C O Not Connected
2 GND O System GND.
3 N/C O Not Connected
4 CLK_IN I/O EXT_CLK input to CW
5 RESET_N I/O Kermit RESET
6 CLK_OUT I/O Clock from CW to Vita
7 SPI_MISO I/O SPI input: MISO
8 VTarget I Driven to +1.8V.
9 SPI_MOSI I/O SPI output: MOSI
10 UART_TX I/O TargetIO Pin 1 - UART TX
11 SPI_SCK I/O SPI output: SCK
12 UART_RX I/O TargetIO Pin 2 - UART RX
13 SPI_CS I/O SPI input: CS
14 MMC_CLK I/O TargetIO Pin 3 - eMMC CLK (probing)
15 PWR_SW I/O Vita power switch
16 MMC_CMD I/O TargetIO Pin 4 - eMMC CMD (probing)
17 GND O
18 N/C O Not Connected
19 GND O
20 N/C O Not Connected