Understanding Arduino files and folders

0.3

By bfx, 7 months ago

In this tutorial, we will try to understand the internal structure of the Arduino IDE and how the build process works. This is useful mainly for debugging, troubleshooting compilation issues and use the build tools with other programs such as VSCode.

This is really an attempt to document the structure of the IDE. As the whole structure is poorly documented (if you find some document that describes the internals of the files and folders, please let me know!!), there is no guarantee that the information hereafter is fully correct. This is all based on my experience and observations, mainly under Windows, and a lot of googling. So please do not flood me with questions, I'm no specialist of the Arduino IDE, just a little curious.

This text is a technical article more than a real tutorial, but a couple of tweaks are given at the end.

Please go to the full tutorial on GitHub.

As soon as the MarkDown editor is available for the Gamebuino pages, I will copy the content of the tutorial here.

Last comments

avatar
bfx
3 months ago

UPDATE July 2019: Adapted file paths and references to the new versions of the Gamebuino and SAMD boards

avatar
gamebuino-admin
7 months ago
Author :  Alban

Very interesting stuff indeed. Thanks for the good work!

By the way, is there an actual reason for keeping the "-g" compile option? In practice, I am not aware of a way to exploit symbols for debugging in the Arduino world.

As a side note, I have installed a more recent gcc version on my main development machine (gcc 7.3 I believe), and I have noticed great improvements in code speed. Editing platform.txt allowed me to point to this version. The latest versions of Project88 were built with this compiler (which seems to break the emulation on the gamebuino web site).

avatar
gamebuino-admin
7 months ago
Author :  Steph

A lot of useful stuff here! Thank you bfx ;-)
We are looking forward to the tutorial on VSCode!