And yet, i have a friend that works with STM32 and making good money on it. He uses Keil and doesn't want to touch anything anymore that has eclipse or GCC.
i sort of agree with him. Free stuff is nice for your personal projects because it's your hobby, or when you want to get your feet wet with new things.
Somehow the interesting part is missing from this comment, isn't it? I.e., *why* he doesn't want to touch anything that has eclipse or GCC, and *why* you agree with him.
The fact that free stuff is nice for hobby use and the like ... doesn't say anything about whether it isn't nice for professional use, does it? And the mere fact of having to pay money obviously can't be the advantage, can it?
we both have a complete dislike of the eclipse+gcc combo. It comes from when we started out about 10 years ago when setting up STM32 toolchains on windows was either pay a lot for Keil and have a working setup out of the box, or fiddle with guides you find on blogs and somewhere else, do this and do that without explanations. Guides were always outdated because every month something changed in eclipse and broke the whole process, you had to guess what to change because when asking for guidance the answer was in the tone of figure it out yourself.
GUI itself for creating projects, register view and so on changed at least three times in the meantime, and you had to do a bunch of manual setup every single time you created a new projects.
We like installers and "just works", we don't like it when setting up projects and toolchains become a job on itself.
Also OpenOCD. I don't understand how people can mock the pickit3 and then praise openocd probes. I've used it very little but had far more problems, hangs and time wasted.
It doesn't help that we both absolutely hate the GUI of eclipse, their UI choices and many little things you have to configure every time you install or update it. It's not a surprise that Qt Creator is an IDE i absolutely love, and while it's actually eclipse under the hood, it looks nothing like it
From time to time i install eclipse again, while it's far more stable in both the installation process and the program itself, i still find it atrocious. Luckily i can do vanilla C/C++ in Qt Creator as well (and before that i was using vanilla netbeans, because i like it so much more)
Obviously i use MinGw as a compiler so it's not a dislike of GCC per se
The only open-source compiler that has been half-maintained is SDCC, and AFAIK, while it works great for other targets, it's never been all that great for the 8-bit PICs.
One thing that has become really annoying to me is Microchip's stubbornness about using their own ICSP interfaces on most of their MCUs instead of a standard JTAG (or SWD) that would allow using standard JTAG/SWD adapters and tools. I think only their PIC32 series have a JTAG interface, but I'm not even sure that MPLAB supports any JTAG adapter. So you're basically stuck with their ICDx/PICkit stuff. But that may be part of their overall strategy, so.
you can say it's complete garbage for PIC16. It may be okay on trivial software, but the quality of XC8 when you start writing some serious software using clean and concise code (and not trying to be too "smart" and trick the compiler in producing a specific assembly pattern for which you should really link an assembly module, or combining several statements in one) is astounding.
Re: JTAG, yeah
All new 16bit parts (since 2018 i think) and most dsPIC33E, all 32bit parts and i think also the new 8bit, at least the PIC18 Qxx series have JTAG, but i don't think any of those besides the PIC32 can be programmed using it (ICSP over JTAG). There was the possibility mentioned in old docs, but also erratas that said that programming through JTAG is not functional. I don't know why.
re: Sources for the compilers
https://www.microchip.com/en-us/tools-resources/archives/mplab-ecosystemthis has been the link for some years, now it's easy to reach from within the website, in the past it was really buried. Or you google "microchip download archive".
Notice how microchip provides EVERY version of their tools, even the old PLIB and MLA. MCC, you can also have all versions of the components to download/mix and match.