Let's start, first just keep in mind that good and trouble free tools don't exist
## Tools from manufacturers:
- Microchip:
Go with MplabX(free) as IDE based in Netbeans, XC 8,16,32,32++ as compilers, note that all compilers can be used for free, the catch is only in the level of optimizations.
For 8bit the XC8(Hi-Tech PICC+PICC18) in free mode is quite bad, really bad
, only use it if you buy a PIC with a good amount of memory and performance is not important, also is only a C compiler
but it's normal at least for more basic 8bit (10F, 12F, 16F) it's almost a miracle that they have a C compiler since their architecture is quite basic and limited.
For 16bit go with XC16(GCC), it's a nice compiler even with the limited optimizations, also the 16bit PICs are nice, the bad is that it's only a C compiler.
For 32bit go with XC32(GCC MIPS), again it's a nice compiler even with the limited optimizations, and also have C++
. Keep some things in mid, all the world went with ARM for 32bit but Microchip had to be different, they with with MPIS for PIC32
, also keep in mid that C and C++ uses completely different libs...
To program/debug the cheap solution is Pickit 3, but PIC32 with pickit 3 can be painful for that I recommend the ICD3.
Please never choose a PIC for a important project without reading their errata, many PICs are quite buggy
With Microchip tools you can go Windows, Linux and MAC
- Atmel:
Their IDE (free) is based in Visual studio so it's a nice IDE, also the compilers(GCC) are free and you get C and C++
To program/debug you can find clones of Atmel tools quite cheap
With Atmel tools you can only use Windows (The IDE only support windows)
-TI:
Their IDE (free) CCS is based in Eclipse, the compilers(made by TI) are also free and have C/C++, the catch is in the debug code size limits, for example 16KB for MSP430(16bit) but for ARM(32bit), for example if you use it with a Tica C Launchpad it don't have any limits
The future CCS v6 will have also the option to use the GCC compilers for MSP430 and ARM, also note that MSP430 with GCC don't have debug code size limit
(for now exist a beta version for download)
The msp430 are fine, but ARM chip are quite buggy.
With TI you can find cheap clones to program/debug, but the for start simple get some Launchpads, they will do the job.
With Ti tools you can go Windows and Linux, no MAC
- NXP:
Their IDE (free) LPCXpresso is based on Eclipse, the compiler (GCC) (free) do C/C++, the limit will be for debug, a 256K code size limit, note that 256K is a lot
The NXP chips are fine and cheap.
The NXP have several cheap boards that also have a programmer/debugger.
With NXP tools you can go Windows, Linux and MAC
- ST
With ST you Will not have any software tool at all
ST chips are nice and cheap.
The ST have several cheap boards that also have a programmer/debugger.
## Tools from other sources:
Almost all they are well supported, many times will be Eclipse with some plugins for the IDE people and GCC as the compiler.
Many people will simple use a makefile with their Editor of choice.
Also, these tools will do fine in Windows, Linux and MAC
In my opinion the chips with worse support are the Microchip ones, the support exist, but can't be compared with the others.