Install the library into the core.

Hi all,

I have only just started using Arduino, sorry if this is a silly question but I have searched the forum for answers and not come up with a definitive answer.
I am using the PCINT library and trying to maximise the performance and in the readme file it recommends:-

"You can get better performance and less code size if you deactivate the not used pins/ports manually in the settings file. This way only the needed pins get compiled and the code is optimized by the preprocessor. For a bit more comfortable/automatic optimization you can install the library into the core to get use of the .a linkage. This way only the used ports get compiled. So if you only use pins on a single port (eg 8-13) then only this port gets compiled. This only works with the core installation."

I am up to the part of "For a bit more comfortable/automatic optimization you can install the library into the core to get use of the .a linkage.".

I am using this with a Mega 2560

Is this the Libraries folder in the Programs file(x86)/Arduino folder if not where is this location referred to as the "Core"

Any help is most appreciated.


Easiest way to locate the active core folder:

  • Tools > Board > Arduino/Genuino Mega
  • File > Examples > SPI > BarometricPressureSensor (or any other SPI library example)
  • Sketch > Show sketch folder

This will open something like ...\avr\libraries\SPI\examples\BarometricPressureSensor or ...\avr\1.6.20\libraries\SPI\examples\BarometricPressureSensor. The core folder is at ...\avr\cores\arduino or ...\avr\1.6.20\cores\arduino.

The reason for the above procedure is that, although you will find a copy of the Arduino AVR Boards hardware package bundled with the Arduino IDE at ...\Programs file(x86)\Arduino\hardware\arduino\avr, if you have updated your Arduino AVR Boards via Boards Manager (Tools > Board > Boards Manager) then a different copy of Arduino AVR Boards was installed to a completely different location of your computer and the version of the package in the Arduino IDE installation folder is not in use.

Keep in mind that any modifications you make to the Arduino AVR Boards hardware package will be lost when you update to a new version of the Arduino IDE/Arduino AVR Boards so you would need to repeat this process every time you do that. This is the reason why it's generally encouraged to only install libraries to the libraries subfolder of your sketchbook folder, where they will persist through updates. In this case it sounds like you have a valid reason for modifying the hardware package.

Thanks @pert found it and now understand it more.