I'm trying to use PSoCs in a project where all the required software
must be free (gratis) and ideally also should be Free (GPL, or such).
Since all the development tools for PSoCs seem to be based on
Windows, this means that I'll have to build my own tool chain (i.e.,
programmer and assembler for now).
Unfortunately, I'm having quite a bit of trouble already with the
programmer. My first attempt was a bit-banging adapter connected
to the RS-232 port. It sometimes almost works, usually between
midnight and 1 a.m.
Assuming that slow edges and/or noise are the problem, I've built
another one (for debugging - ultimately, I'll want the simple one),
based on a PIC. It uses the reset method and connects directly to
the PSoC, with a 1k pull-down on SDATA (no other resistors or
capacitors). It can send a burst of up to 8 bits every 2 ms (which
also drops XRES), or do some other operation (assert XRES,
read SDATA, etc.) every 1 ms. Pulse width is 1 us or longer.
If section 3.1 of AN2026A is correct (I don't quite trust that
document, see also my posting in the Application Notes forum),
that should work. I've verified that the first eight bits get sent
within < 100 us after dropping XRES.
Unfortunately, all I get is a very silent PSoC, that doesn't even
produce a visible response to READ-ID. The chips I'm using are
the CY8C21323 and the CY8C24223.
So I wonder if there are any other things I have to pay attention
to, e.g., any requirements not clearly mentioned in AN2026A, or
possibly even errors ? What problems did other people building
programmer hard- or software encounter ?