I've been using Atmel / Microchip AVR micros for many happy years, mostly the ATMega and ATTiny families.
Recently, for the first time I started using Microchip's "MPLAB X IDE" because I want to use a new microcontroller: the
AVR128DA64.
It's a chip with some fairly complex features and the MPLAB X IDE has a system called "
MPLAB Code Configurator" (MCC) which claims to make the initialising of a project easy.
So I figured it was worth doing a feasibility study into these new (to us) development tools.
So with an optimistic attitude I plunged in and actually got quite far. I managed to get the following things working quite quickly without writing much code...
- DAC is working and using the 4.096V reference
- LUT0 working and using a custom logic function OUTPUT=(A and B and NOT(C))
- Real-time counter generating interrupts at 1 second intervals for blinking a LED
- Timers, Comparators, ZCDs, watchdog features even!
...in other words, configuration that would take
days to figure out from reading the 650-page datasheet!
So for a while I was very impressed, but then I started seeing some odd things like enabling an interrupt in the MCC, but then literally a second later being
unable to disable it again.
Another time it was simply adding the CCL module into the Project context -- this did some very odd things like reconfiguring quite a few IO pin assignments and introducing several IO mapping conflicts. Even when the CCL feature was
DISABLED! I could not resolve these without removing the entire CCL module again!
The more I try to do (even very simple things that are not even pushing the limits) the more I find things that look like bugs. Bugs with very costly workarounds.
I know the chip is a complex one (considering my background in simpler micros), and I appreciate that the MCC system exists and as far as I've seen it's quite ambitious. But is this MCC platform actually production-ready?
I've wanted this system to work and I've given it every chance to work, but I'm left with a strong fear that adopting this MPLAB X IDE (and all its foibles) will be a huge mistake in terms of development time, stability and reliability.
I'd like to hear your opinions if you are familiar with the MPLAB X IDE and its MCC system:
Do you find these tools reliable and suitable for use in a commercial, multiple-developer environment?