Does Microchip have a C++11 / C++14 / C++17 compiler for their 8-bit microcontrollers?

Not really.

Only the AVR series chips from the Atmel acquisition have this support, when using the open source GCC suite. And even then, their official compiler build is pretty old.

For the PIC12/14/16/18 series, we are out of luck until someone sponsors an adaptation of either the GCC or LLVM compiler backend.

Unfortunately, Microchip still thinks it’s a good idea to charge money for things that should probably be free (to end users anyways).

At this point, NXP and ST Microelectronics both provide high-quality and relatively recent compilers with no firmware flash + RAM size limitations. That, combined with ARM’s moves into the IoT space and maintenance of both an ARM GCC and ARM LLVM (paid) port make Microchip’s position untenable, even if the PIC microcontrollers are technically less suited to C-languages than the ARM Cortex cores.

You either win on software support, or your hardware likely falls out of favor.

The official compilers released with the MPLAB X IDE that can be seen when digging around in the “Program Files” folder are:

avr-g++
gcc version 5.4.0 (AVR_8_bit_GNU_Toolchain_3.6.2_66)

clang (C99 support only)
clang version 4.0.1 (tags/RELEASE_401/final)
Target: pic
Thread model: posix
InstalledDir: C:\Program Files (x86)\Microchip\xc8\v2.00\pic\bin

xc8
Microchip MPLAB XC8 C Compiler V2.00
Build date: May 27 2018
Part Support Version: 2.00
Copyright (C) 2018 Microchip Technology Inc.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.