==== Microchip XC32 compiler ==== The XC32 compiler is available in a free edition as either the legacy MPIDE compiler or the core compiler. The core compiler is a requirement for newer chip families such as the PIC32MM but doesn't include the legacy microchip libraries to build older projects. The legacy libraries are available for download but only as a binary installation. Newer device families such as the PIC32MM have no legacy backward compatibility. === Linux AMD64 === == 32-bit compatibility == apt-get install libc6-i386 == Legacy MPIDE compiler == cd /opt/ wget https://chipkit.s3.amazonaws.com/0150release/mpide-0150-linux64-20150820.tgz tar zxvf mpide-0150-linux64-20150820.tgz ln -sf mpide-0150-linux64-20150820/hardware/pic32/compiler/pic32-tools == Core compiler with legacy libraries == __Core compiler__ cd /opt/ wget "https://chipkit.s3.amazonaws.com/chipkit-core/builds/linux64/chipkit-core-linux64.16778055.Branch_0299cad4-v2.0.6-2-g0299cad.zip" unzip chipkit-core-linux64.16778055.Branch_0299cad4-v2.0.6-2-g0299cad.zip ln -sf chipkit-core/pic32/compiler/pic32-tools __Legacy libraries__ wget http://ww1.microchip.com/downloads/en/softwarelibrary/pic32%20peripheral%20library/pic32%20legacy%20peripheral%20libraries%20linux%20(2).tar tar xvf pic32\ legacy\ peripheral\ libraries\ linux\ \(2\).tar ./PIC32\ Legacy\ Peripheral\ Libraries.run When installing the libraries above use the following install directory. /opt/pic32-tools Finally, disable the legacy warnings from the legacy header files. find /opt/pic32-tools/pic32mx/include/lega-c -name "*.h" -exec sed -i 's/#warning/\/\/#warning/g' {} \; find /opt/pic32-tools/pic32mx/include/peripheral -name "*.h" -exec sed -i 's/#warning/\/\/#warning/g' {} \; === Raspberry Pi Raspbian === == Legacy MPIDE compiler == cd /opt/ wget https://chipkit.s3.amazonaws.com/0150release/mpide-0150-raspberrypi-20150820.tgz tar zxvf mpide-0150-raspberrypi-20150820.tgz ln -sf mpide-0150-raspberrypi-20150820/hardware/pic32/compiler/pic32-tools == Core compiler with legacy libraries == __Core compiler__ cd /opt/ wget https://chipkit.s3.amazonaws.com/chipkit-core/builds/arm/chipkit-core-arm.16778055.Branch_0299cad4-v2.0.6-2-g0299cad.zip unzip chipkit-core/builds/arm/chipkit-core-arm.16778055.Branch_0299cad4-v2.0.6-2-g0299cad.zip ln -sf chipkit-core/pic32/compiler/pic32-tools __Legacy libraries__ Perform the steps above for Linux AMD64 and afterwards copy plib.h and the lega-c and peripheral library and include files to the Pi. For example, to archive and copy: cd /opt/pic32-tools/pic32mx/include tar cvf lega-c.tar lega-c tar cvf peripheral.tar peripheral scp plib.h *.tar pi@pi: cd /opt/pic32-tools/pic32mx/lib find -name "libmchp_peripheral*" | tar zcvf lib.tgz -T - scp lib.tgz pi@pi: To extract on the pi: cd /opt/pic32-tools/pic32mx/include mv ~/plib.h . tar xvf ~/lega-c.tar tar xvf ~/peripheral.tar cd /opt/pic32-tools/pic32mx/lib tar zxvf ~/lib.tgz === Debian derived (Armbian, Bananian, Devuan) === As per RPi above, with the following step. cd /lib ln -sf arm-linux-gnueabihf/ld-2.19.so ld-linux.so.3 === Cygwin === == Legacy compiler == [[https://chipkit.s3.amazonaws.com/builds/mpide-0023-windows-20140821.zip|Download]] and extract mpide-0023-windows-20140821.zip to c:\mpide-0023-windows-20140821 Run Cygwin terminal mkdir -p /opt ln -sf /cygdrive/c/mpide-0023-windows-20140821/hardware/pic32/compiler/pic32-tools /opt/pic32-tools === Resources === [[https://chipkit.net/wiki/index.php?title=ChipKIT_core|ChipKIT core download links]] [[https://www.microchip.com/SWLibraryWeb/product.aspx?product=PIC32%20Peripheral%20Library|Legacy Libraries]]