Hi,
I experience weird problems when installing the latest releases of the "Arduino AVR boards (built-in by Arduino).
Programs no more compile/link correctly.
After investigations, it look like that the ArduinoCore-avr no more safely install on my system.
And as far as I can see on the Web/forums, I'm not alone in this situation.
Context/symptoms:
Arduino IDE 1.8.8 (Windows Store 1.8.19.0) - OS : Windows 10 64 bits
- I try to compile two separate projects : one is a personal dev., while the second is the "Marlin" firmware (commonly used on 3D printers).
My project use an ATMega 2560 board, and "MARLIN" use an AT1284 board (Sanguino).
Of course, both needs the "Arduino AVR boards" installed in the board management menu. - When compiling with the v1.6.21 release, all works like a charm, compilation and execution are fine
- When compiling with the releases v1.6.22 or v1.6.23, I got a nice "segmentation fault" for my project.
And I got a ".text overflow" for the MARLIN (as if the CPU/board has not enough flash memory).
So, I decide to change the compiler/linker options to identify the problem. My idea was to add an extra option "-Wl, Map, essai.map" in the compiler/linker to see the CPU-address mapping generated. I first suspected a bug in the avr-gcc toolchain, but I now believe that it's not the case.
Indeed, using the v1.6.21, I change the compiler options has described in the Arduino documentation :
On my system, it is located here : C:\Users\Thierry\Documents\ArduinoData\packages\arduino\hardware\avr\1.6.21
OK, with the v1.6.21, no problem to locate the "platform.txt" and add extra option to the compiler. This works perfectly, I get a listing of the mapping addresses as expected.
Now, using the board management, I upgrade the "Arduino AVR boards" to release 1.6.22 (or 1.6.23).
Then try to locate the "platform.txt" file... no way ! :o
When I look at the expected directory : C:\Users\Thierry\Documents\ArduinoData\packages\arduino\hardware\avr\1.6.22, it doesn't exist !!!
The "avr" directory is here, but empty.
So I suspect an installation problem with the v1.6.22/v1.6.23.
I've also take a look at the github repository: Releases · arduino/ArduinoCore-avr · GitHub
I downloaded the zip archives and manually extract them. They look correct, not corrupted.
So the fundamental question is : Why doesn't the 1.6.22/1.6.23 install in the expected directory ?
Is this a bug in the installer, or in the archive, or in a post-installation process ?