> I definitely wouldn=92t recommend making ARM via GCC anyone=92s first=20 > foray into microcontroller programming. Once you understand how=20 > microcontrollers work, how compilers work, and how linkers work, and=20 > you=92re willing to read the documentation to understand the chip=92s=20 > memory map, power-up state, etc., I consider ARM+GCC to be a toolchain=20 > that=92s robust, trustworthy, and also comfortable and easy to use,=20 > adjectives I would not apply to Microchip offerings unfortunately.=20 A few years ago I switched my micro-controller classes from using PICs=20 (16F887 at that moment) with MPLAB and a pickit2 clone to ARM/Cortex=20 with GCC tools and lpc21isp. It was a delight. MPLABX was unreliable,=20 and a mess to work with, and totally different from MPLAB. (There is=20 nothing like a few classes of students all with their own different=20 laptops to expose weaknesses of a complex product.) The compiler was=20 mostly C, but not quite. The build process was difficult to understand=20 and harder to explain. On the GCC side there is no mandatory IDE to hold your hand and decide=20 that it knows better than you (but you can pick almost any decent editor=20 you like), but tools that take some attention to use, but do exactly as=20 they are told, and which functioning can be explained, and the students=20 can fool around with various settings (like the linkerscript and the=20 startup code) and get the result that they should get (not always what=20 they wanted, but that is learning). And now they learn tools that are=20 free, can be used with almost all other chips, are supported by a=20 massive community, supports assembler, C and C+++ (and a few more exotic=20 languages), and one day we might even go tinkering with the compiler=20 itself. I also do some assembler lessons, Cortex-M0 assembler and its=20 interaction with C/C++ can be explained in a few lessons. PIC=20 14-bit-core assembler is quite a bit different, and its interaction with=20 assembler (beyond one 8-bit argument and one return value) is too=20 complex to explain. In the PIC time I told my students "if you master=20 this assembly language, every other one will be a breeze" which is true=20 in itself, but switching to a more regular assembly language left more=20 time for other topics, like context switching. Try to do that on a PIC-14. In retrospect I might have switched earlier, but I'd like the students=20 to use DIP chips, and that's a point where Microchip still has an=20 advantage. I have exactly two Cortex DIP chips to choose from, and they=20 are both much more expensive than their PIC32 equivalents, and to my eye=20 a DIP28-wide looks soo ugly compared to a DIP28S. If only Microchip had=20 supported full, free, and standard GCC (including C++) when the PIC32=20 was introduced.... Wouter van Ooijen --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .