Warning, I am juts a novice, so there might (and will be) mistakes. First time using a IDE like this or using a ARM based chip. Also I have defined the initialisms, I figure if my past self finds this post, it might help him.
So I first learned about the Cypress PSoC 4 CY8CKIT-049-4xxx protyping kits from Hackaday a month ago. It really caught my attention as a cheap board to play with. I am always looking for cheap boards to play with. Also I have not worked with any Cypress or ARM chips before.
About the board, it has two ICs1 the first is the target (the main chip) an ARM Cortex M0+ based PSoc 4 MCU2. The second chip is the USB bridge CY7C65211. The USB bridge allows you to communicate with the devices built in bootloader for flashing code.
What really neat about this whole package is that the bridge can be configured to talk UART3, GPIO4, I2C5 or SPI6; so if you need a USB to serial converter, jackpot! Also its easily removed from the rest of the board (as you will see bellow)
After a little bit of research I decided to go with 42xx, it has double the frequency and has 4 universal digital blocks where the 41xx does not (Thanks “Tim G” from Hackaday comments![^Tim G]). When I deiced to pick mine up I went to Mouser, they where only $4 there (Also picked up a Nucleo Board STM32F4, but that’s another post). At the $4 price, I picked up four total. I figured if I break one not a big deal, also I already gave one away.
If you need the software, code, guide, design files etc. Go here (Cypress product page for the 4xxx Prototyping kits)
So I got them pretty quick and this is what they come in.
Now I already opened it up, but they just used thick cardboard and put the board inside, honestly liked the way they did it, they store great.
It has the blinking LED example already on it. Plug it in and watch it go!
So after having it for only a short while, I decided to add some header pins and make it work with a breadboard. I cut off the USB connection and then put some pins on it so I can connect the two. That way I can program it easier.
Development tools (IDE)
I should state this again.
I am a novice, so a lot of this is all new to me!
You will need to download the PSoC Creator, this is a download you need to register for. Also you need the USB-Serial Software Development Kit this has the CDC and Vendor class driver, I installed both and I think you need both (don’t quote me on that).
Once all the software and drivers are installed you are ready to program. I just downloaded and loaded CY8CKIT-049-42xx Example Projects.zip from the Related Files section.
A lot of this system is drag and drop which is great, but threw me for a loop since I was use to using the Arduino IDE where its all C like syntax and no neat graphics. But I love the design files and layout tools.
There is neat slide show PDF from MIT about this here, its a nice introduction to the PSoC Creator. Not sure if its the most up-to-date version of creator but it gets you started.
Once you are ready to upload the file you may run into this error while using the Bootlader Host program.
Communication port reported error 'Unable to read data from the target device'.
What that error could mean is that you don’t have the proper communication port selected (should not be COM1), or the board was not in bootloader mode, if its not in that mode then it won’t accept the binary image file.
To put in that mode you have to do the following.
What you need to do is before you plug it in, is push and hold down the little black switch at the end of the stick, insert into the USB port, once the LED on the board start to flash rapidly you let go.
Now its ready to program, this has to be done also again if you want to verify the image in memory. So pull it out give Windows a few seconds to think and the repeat the hold down process.
That is one thing I really love about the Arudino over this.
I hope this was helpful to someone. Writing this down helps me remember and also a great reference for myself if I forget things.
Update - 2014/08/06
Cypress has some great videos. Cypress Training On-Demand