|Target Device||Cypress PSOC6|
|Target Architecture||Cortex M0+, M4|
|Hardware Crypto||Possible on M0+ core|
|Design Files||GITHub Link|
The PSOC6 board supports several PSOC6 devices in the BGA-116 package. The devices have the same pinout. Various header jumpers can be set different positions to select appropriate power supply for the different power dominans of the device, and different measurements points. The devices in the following table shows two compatible devices:
|Cypress PSOC6 series||Package||Device||Hardware AES||TRNG||Tested||Process node||Flash||SRAM||OTP|
There are other flavors of the devices with the same pinout, which makes them compatible with this target board.
The device must be supplied with minimum 1V7, and maxiumum 3v6. The logic core uses 1v2.
The device contains an internal regulator regulating the input voltage down to 1v2. This can however be bypassed by supplying a slightly higher voltage to the target board's 1v2 pin.
Measuring power consumption
The target board contains headers which lets the hacker select where to measure. It is possible to select to measure power on the 3v3 input and the 1v2 input/decoupling on the core pin.
The PSOC6 devices have hardware cryptography with support for AES, 3DES, RSA, SHA-512, SHA-256 and ECC.
The target board supports using both JTAG and SWD for programming. An external programmer is needed, e.g. a SEGGER Jlink or a ST-Link.
SimpleSerial builds for the PSOC6 devices using the PSOC Creator. This is an Eclipse based IDE with support for debugging, flashing and provides good support for various peripherals. The PSOC Creator-project is included in the repo.
Program the device using your preferred method. SEGGER JFlash is a great tool for that. After this, you're ready to go - you can use the ChipWhisperer terminal to talk to your target. You might need to reset the target before you do anything else.