Now you can program a Cypress PSoC1 device from a PyBoard!
To program a PSoC1 device, in general follow these steps:
-
Prepare hardware. Refer to Cypress's ISSP Programming Specification document for the required connections. At the very least, you need 2 GPIOs for SCLK and SDATA, and one additional GPIO either connected to XRES or controlling the target's power. Make sure to use 5V-tolerant GPIO pins if the target is powered by 5V.
-
Edit
issp.py
to match the hardware resources used. -
On a computer, use
intelhex.py
to convert the .hex file produced by PSoC Designer into a binary file. -
Copy
issp.py
and the binary program file to the PyBoard. -
Connect the PyBoard to the target device and your computer. Open a REPL terminal to the PyBoard.
-
Put the target in programming mode using either
issp.reset()
orissp.power_cycle_init
, and verify its silicon ID withissp.read_id_word()
. -
Read program data into memory, and program it into the target with
issp.program()
orissp.patch()
. -
Verify the result with
issp.verify()
.