chipKIT® Development Platform

Inspired by Arduino™

Overview of the Build Process

Posted 2016-06-27 11:37:26 by Majenko

This post is in response to questions about the build process. Some of you are asking very reasonable questions. However, this stuff is specifically hidden to make the entire system easy for the beginner. If you are a beginner, I would recommend ignoring these details to start with.

Nevertheless, to answer your questions, the build process in MPIDE is the same as it is for the original Arduino system. It compiles all of the files in the core/xxx folder, xxx is specified in boards.txt. Normally there is only one and for PIC32, it's cores/pic32.

It also will compile files from the 2 libraries folders. The 2 locations for libraries are the main one in pic32/libraries--where officially supported libraries go--and the second optional libraries folder in your sketches folder, where you are supposed to put any libraries that you download from 3rd parties. The reason for the second folder is that if you download a new version of MPIDE (or Arduino), you won't lose those third-party libraries, as happened in earlier versions of Arduino.

It copies all files from your sketch folder, the library folders to a temp folder. You can follow this entire process by holding down the SHIFT key and clicking on COMPILE (the button on the far left). Similarly you can hold down the shift button when you click UPLOAD and you will see the entire UPLOAD process. ONE IMPORTANT NOTE.. HITTING UPLOAD ALSO COMPILES SO YOU DO NOT NEED TO DO BOTH.

The compile process uses gcc from a command line. Done differently in MPIDE was the code to drive the compiler; it was totally re-written and is driven by a file called platforms.txt, which spells out the entire compile and link process. In Arduino, this was hard coded and darn near impossible to change.