I hate to keep sounding like a shill for Cypress but I think this is where the PSoC really shines. You can configure the chip and give your pins names and set them as I/O's and such. So a program to turn on an LED when a button is pressed becomes
Can you describe the development environment. Is it free, does it run on Linux/Mac, is it a single package install, does it have decent features (GUI, C code cross reference, debugger, etc). Cypress is not that popular for ARM (I am relying on that graph in the other PIC vs ARM thread) but maybe just as good. I already got a ST board, then switched to NXP but wouldn't mind to try another one.
OP, another option you have is to wait for the upcoming Arduino ZERO (ARM based) or use the existing Arduino DUE (also ARM based).
-As far as I know it's Windows only (although it seems to run fine under wine, etc)
-It's 'free'. I put that in quotes, because you get a license for the Keil C compiler free with the software, but each year you have to re-register and get emailed a code
-Single package to install everything, although it does install the "PSoC Programmer" which the IDE uses to program the chips. The programmer can be run separately if you just want to program a chip, it doesn't need the IDE even installed
-I don't have a ton of experience with different IDE's, but I really like the PSoC IDE. There is two... PSoC Designer and PSoC Creator. Designer is only for the old legacy PSoC1 product. Creator is for PSoC3, 4 and 5. There is a world of difference between the two... Creator and PSoC3/4/5 is how you would design a SoC if you were starting from scratch. Designer is how it would be done if you were trying to kludge some PLD stuff onto an MCU. Which is pretty much exactly how it went... PSoC3/4/5 are clean-sheet designs. PSoC1 is the first iteration from many years back. The Creator IDE supports full debugging - breakpoints, memory location and variable watches, stepping into and through code blocks, etc. All of that is supported in the PSoC3/4/5 chips without any debug versions or external hardware required. I find the GUI itself pretty good but again I don't have a ton of experience. I'd say it's easily better and more powerful than the Atmel IDE (the only other one I have much experience with).
I still have an NXP board sitting around that I never got to... maybe some day when I get more time
Like I said, the great thing about the PSoC is the chips are sort of like a canvas, and you drag-and-drop the peripherals you like. I have a PSoC3 with 30 PWM's on it controlling an LED array. I've got others where I messed up my board layout and accidentally ran signals to the wrong pins but was able to just reconfigure my peripherals to run on those pins instead - saved my ass a few times. Cypress is always coming out with new libraries/peripherals too... so they have stuff like UART's, DMX controllers, various LED lighting and color mixing methods (including color correction through optical feedback), etc. It sounds complex, but for example if you want to measure temperature, they have a temperature object you drag and drop into your design, configure it (i.e. pin to read from, range, etc) and then you get a full API and can just say "if (myTemp.CurrentTemperature > 50)" instead of having to calculate anything or scale ADC values, or even having to know how to use an ADC in the first place.
I started with PSoC1 which had a lot of quirks and bugs. PSoC3 was like driving a Lambo when all you've driven before was a 1984 Ford with 200,000 miles. PSoC1 there is a single GPIO interrupt for read or write that runs for all pins. PSoC3/4/5 you just drag and drop a pin component onto your design, drag and drop an interrupt component... double click and set the pin to input, pulled low and "interrupt on high" and draw a line to the interrupt component, then add your code to the C file the interrupt component created and you're done.
That PSoC dev kit I posted earlier CY8CKIT-049-42XX was something like $5 from Cypress and the IDE is free. If you're at all interested, I'd give it a shot. I fell in love with these chips and I use them whenever I can unless I *really* have to use something else. And even then, Cypress is pretty cool to work with... I was using a competing chip for $0.29 and the cheapest PSoC was $1.10. They said "no problem, we'll drop your price to $0.29".