Electronic – ARM Cortex (M3-M4): manufacturer and development IDE

armcortex-midemicrocontroller

I would like to do some MCU programming this summer and I've already had some unfortunate experiences with the STM32F4 DISCOVERY board, particularly the fact that it came without any (free) software which would allow unlimited use (more than the 16KB or 32KB from both Keil and IAR).

Currently I'm also planning on buying a few ATTiny and ATMegas for smaller projets, as well as an ISP programmer and a JTAG debugger. That would point me towards Atmel as far as costs & IDE are concerned.

I read a piece of this other discussion: ARM Cortex-M3 development tools? and I've seen that I tried something that had been pointed out there.

I used the CodeSourcery toolchain as well. Under GNU/Linux the only library that worked (for me) was Chibios. I setup Eclipse with the gnuarm plugin. Maybe I just didn't do it the right way (or maybe I didn't understand correctly what it is for). Also uploading the code (4KB) took like 5 minutes. It wasn't that bad, but debugging was very far from stable (lots of error messages that I should analyze as soon as I have time: for now that's a secondary problem).

I'd liked to try out Coocox but it didn't let me upload the code (I needed the hardware interface I suppose, their chap JTAG interface).

The question is therefore: is there any manufacturer that actually supply a software free to use without limitations on lines of code or size of code ? For now I only found Atmel which now includes support for both ARM and AVR in their Atmel Studio 6 based on Visual Studio 2010. ST and NXP don't seem to offer any. TI seem to offer their CCStudio[Code Composer Studio] but it also has a limitations on the maximal size of code that can be produced.

I'd have no problem in doing it in GNU/Linux (in fact I'd prefer to), but I would like it to be well supported under it.

I'm wondering if the other manufacters offer something more: the ARM architecture in itself (Cortex M3/M4 or others) should be pretty much standard. What differentiate one MCU from another are the peripherals around it, if I understood correctly (and I'm hoping some manufacter other than Atmel is actually providing some software along, which is not code-size limited)? I'd be particularly interested in high speed ADCs (and MCU's frequency as well), but I've seen on some catalogues that it doesn't change that much from one manufacturer to another.

Just a curiosity: if I want to send data from MCU to PC using serial communication (for instance, USB), does the MCU have to be VERY fast if I want to transfer data a full speed (say 480Mbit/s for instance needs what: 480MHz ?) ?

I'm open to suggestions. Thank you very much in advance.

Best Answer

At the risk of sounding like a broken record...

PSoC5 is your answer! (It's amazing how many times PSoC is the answer)

PSoC5

The PSoC5 MCU has an ARM Cortex M3 core, and a bunch of other brilliant features that practically no other MCU has. Unlike other MCUs, setting up the peripherals is as fun as eating ice cream, and you can even create your own in Verilog! The IDE is pretty good, and totally free.

PSoC Creator

The Development Kit is great, and full of features and comes with the programmer, which you can use for your future projects. It's not too expensive.