Re: Precompiled HAL/LL files possible?
Posted: Thu Mar 25, 2021 10:45 am
i think in about all the Arduino IDE , arduino cli and various tools e.g. vs code etc, there is a way to specify the *build folder* rather than using arbitary *temp folders*. hence, you could get 'incremental build' simply finding out how to set a fixed build folder rather than using temp folders.
i'd prefer build folders to be part of the project folders so that compiled objects don't get mixed across sketches
that's how i used my makefiles. i'm using eclipse IDE and initially there is a lot of pains with each different sketch / project i've to manually setup all the defines, all the include paths, all the compiler settings then all the source locations, all the library (including cmsis etc) locations.
so if i've blink1 sketch, to make blink2 sketch it wastes 1/2 a day setting those definitions up.
makefiles fixes it all, now that when i want to create a new sketch, i clone the project folders and edit settings e.g. in makefile etc.
it reduce that from 1/2 day to a few minutes.
arduino-cli is possibly more portable than makefiles between windows and linux (as it is done by design). but in windows if you use WSL (windows subsystem for linux)
https://docs.microsoft.com/en-us/window ... tall-win10
using makefiles or even docker based builds could be easy as well.
i think *docker* is a 'technology' we can explore as well, as it makes possible to bundle a whole environment for the build, and it can be pretty consistent across different platforms. the trouble is that these bundles tend to be very large files. another downside of docker is that the tight bundling discourage sharing of common tools across different cores
i'd prefer build folders to be part of the project folders so that compiled objects don't get mixed across sketches
that's how i used my makefiles. i'm using eclipse IDE and initially there is a lot of pains with each different sketch / project i've to manually setup all the defines, all the include paths, all the compiler settings then all the source locations, all the library (including cmsis etc) locations.
so if i've blink1 sketch, to make blink2 sketch it wastes 1/2 a day setting those definitions up.
makefiles fixes it all, now that when i want to create a new sketch, i clone the project folders and edit settings e.g. in makefile etc.
it reduce that from 1/2 day to a few minutes.
arduino-cli is possibly more portable than makefiles between windows and linux (as it is done by design). but in windows if you use WSL (windows subsystem for linux)
https://docs.microsoft.com/en-us/window ... tall-win10
using makefiles or even docker based builds could be easy as well.
i think *docker* is a 'technology' we can explore as well, as it makes possible to bundle a whole environment for the build, and it can be pretty consistent across different platforms. the trouble is that these bundles tend to be very large files. another downside of docker is that the tight bundling discourage sharing of common tools across different cores