Fehler beim Komilieren für das Board Arduino Nano

Hallo,
ich bin erst neu hier und finde diese Communityarbeit wirklch klasse. Leider beginne ich direkt mit einem Fehler beim Hochladen des Sketch auf den Arduino und hoffe auf eure Hilfe.

Ich habe zwar das Board von Thorsten bestellt, habe es aber noch nicht da. Zum ersten probieren habe ich daher den Arduino, den DFPlayer und den RFID Reader mittels Jumperwire verbunden.

Nun zum Fehler:
Beim Hochladen bekomme ich eine sehr umfangreiche Konsolenausgabe in Rot:

Arduino: 1.8.8 (Windows Store 1.8.19.0) (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

[PFAD]\Tonuino\Tonuino.ino: In function 'int voiceMenu(int, int, int, bool, int)':

[PFAD]\Tonuino\Tonuino.ino:337:62: warning: default argument given for parameter 4 of 'int voiceMenu(int, int, int, bool, int)' [-fpermissive]

           bool preview = false, int previewFromFolder = 0) {

                                                          ^

[PFAD]\Tonuino\Tonuino.ino:25:5: note: previous specification in 'int voiceMenu(int, int, int, bool, int)' here

 int voiceMenu(int numberOfOptions, int startMessage, int messageOffset,

 ^

[PFAD]\Tonuino\Tonuino.ino:337:62: warning: default argument given for parameter 5 of 'int voiceMenu(int, int, int, bool, int)' [-fpermissive]

           bool preview = false, int previewFromFolder = 0) {

                                                          ^

[PFAD]\Tonuino\Tonuino.ino:25:5: note: previous specification in 'int voiceMenu(int, int, int, bool, int)' here

 int voiceMenu(int numberOfOptions, int startMessage, int messageOffset,

 ^

[PFAD]\Tonuino\Tonuino.ino: In function 'bool readCard(nfcTagObject*)':

[PFAD]\Tonuino\Tonuino.ino:486:5: warning: return-statement with no value, in function returning 'bool' [-fpermissive]

 return;

 ^

In file included from [PFAD]\Tonuino\Tonuino.ino:1:0:

C:\Users\Marco\Documents\Arduino\libraries\DFPlayer_Mini_Mp3_by_Makuna\src/DFMiniMp3.h: In instantiation of 'void DFMiniMp3<T_SERIAL_METHOD, T_NOTIFICATION_METHOD>::sendPacket(uint8_t, uint16_t, uint16_t) [with T_SERIAL_METHOD = SoftwareSerial; T_NOTIFICATION_METHOD = Mp3Notify; uint8_t = unsigned char; uint16_t = unsigned int]':

C:\Users\Marco\Documents\Arduino\libraries\DFPlayer_Mini_Mp3_by_Makuna\src/DFMiniMp3.h:112:19:   required from 'void DFMiniMp3<T_SERIAL_METHOD, T_NOTIFICATION_METHOD>::playFolderTrack(uint8_t, uint8_t) [with T_SERIAL_METHOD = SoftwareSerial; T_NOTIFICATION_METHOD = Mp3Notify; uint8_t = unsigned char]'

[PFAD]\Tonuino\Tonuino.ino:80:54:   required from here

C:\Users\Marco\Documents\Arduino\libraries\DFPlayer_Mini_Mp3_by_Makuna\src/DFMiniMp3.h:306:114: warning: narrowing conversion of '(arg >> 8)' from 'uint16_t {aka unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

     uint8_t out[DfMp3_Packet_SIZE] = { 0x7E, 0xFF, 06, command, 00, (arg >> 8), (arg & 0x00ff), 00, 00, 0xEF };

                                                                                                              ^

C:\Users\Marco\Documents\Arduino\libraries\DFPlayer_Mini_Mp3_by_Makuna\src/DFMiniMp3.h:306:114: warning: narrowing conversion of '(arg & 255u)' from 'uint16_t {aka unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

[PFAD]\Tonuino\Tonuino.ino: In function '_GLOBAL__sub_D_mySoftwareSerial':

[PFAD]\Tonuino\Tonuino.ino:577:1: internal compiler error: Segmentation fault

 }

 ^

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.19.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.

Ich hab leider keine richtige Idee wo ich ansetzen kann. Ich wäre über Vorschläge wirklich dankbar.

Grüße aus Dresden
Marco

Das meiste von dem roten Text sind Warnungen. Nur der Teil den ich hier zitiere ist problematisch. Aber leider habe ich gerade keine Ahnung woran das liegen kann. Hast du die aktuellste Arduino IDE?

Hallo Thorsten,
ich habe die Arduino IDE aus dem Windows Store geladen. Ist die Version 1.8.8 ( Windows Store 1.8.19.0)

Ich hoffe das hilft den Fehler einzugrenzen.

Versuche mal direkt die Arduino Software zu installieren (nicht über den Windows-Store):
https://www.arduino.cc/en/Main/Software

Falls du auf dem Rechner keine eigenen Programme installieren kannst, gibt es dort ein Windows ZIP file for non admin install.

Wollte ich auch gerade vorschlagen. Auf GitHub gibt es längliche bug reports dazu. Sehr oft wird die Windows Store Version genannt. Das muss nicht der Grund sein, aber es mag damit zusammen hängen.

Super!
Sorry darauf wäre ich jetzt wirklich nicht gekommen. Dieser Schritt ist geschafft.

Vielen Dank kann ich diesen Beitrag hier auch als Lösung bzw. gelöst markieren?

Gruß Marco

Ja, hab ich schon gemacht.

Das Problem hatte hier doch schon mal jemand, wäre vielleicht ein guter Hinweis in der Anleitung

Ich habe es in die #software FAQ aufgenommen. In der Anleitung die @march gerade erstellt, wird ebenfalls empfohlen die IDE direkt zu beziehen.

Könnte man nicht auch ein fertiges Compilat auf GitHub zur Verfügung stellen?
Dann könnten Leute, die nur nachbauen wollen das Compilieren sparen.

Wenn ich das richtig gesehen habe, kompliliert die Applikation immer automatisch vor dem Hochladen.

Das könnte man natürlich in der Tat. Aber wie erklärt man dann in ganz einfach wie man das flasht?

Das ist einfacher als die Arduino IDE? Da haben wir wohl unterschiedliche Vorstellungen. :wink:

Wenn man nur das Hex file rausgibt (also fertig compiliert), gibts ein Tool, mit dem man das mit einem klick auf den (korrket erkannten und com eingestellten Arduino) draufgeflasht bekommt.
Kein Adapter oder sonstwas nötig.
Tool kann ich mal raussuchen, bei Interesse.

http://xloader.russemotto.com

screenshot

Ist (Leider?) Windows only (Aber ggf. genau das richtige für die angesprochene Zielgruppe.). Wäre die Frage, geht das mit Arduino Clones? Falls ja, wäre das IMHO genau das was wir suchen?

genau das. :+1:
Jap geht. Ich hab ausschlieslich Klone und schon erfolgreich mitr dem Tool ein hex flashen können.

Ist (Leider?) Windows only (Aber ggf. genau das richtige für die angesprochene Zielgruppe.)

Wozu gibts Bootcamp? :wink:
Ich hätte aber die angesprochene Zielgruppe eher als MAC-User deklariert :stuck_out_tongue:

Gleiche App für den Mac:

http://paulkaplan.me/HexUploader/

Die Arduino IDE muss zwar installiert sein, aber das ist ja kein Problem.

na also. ist doch perfekt.

Wobei beim compilieren dürfte es ja eigentlich keine Fehler geben.
Ein bisschen was soll der Erbauer ja schon auch selber machen müssen/sollen/lernen.
Man bekommt ja eigentlich alles auf dem Silbertablett serviert.

also irgendwie scheint der Code fehlerhaft zu sein, ich stolpere bei meinem Port auf ESP12 über die selber Fehler, die hier im Forum genannt werden. Dabei nutze ich Linux, beim komplimieren auf Uno läuft es durch, kriege nur eine Warnung. Beim ESP jedoch gibt’s Probleme.
Ist „readCard“ evtl. doppelt belegt?

/tmp/arduino_modified_sketch_818870/Tonuino.ino: In function 'int voiceMenu(int, int, int, bool, int)':
/tmp/arduino_modified_sketch_818870/Tonuino.ino:347:62: warning: default argument given for parameter 4 of 'int voiceMenu(int, int, int, bool, int)' [-fpermissive]
           bool preview = false, int previewFromFolder = 0) {
                                                          ^
/tmp/arduino_modified_sketch_818870/Tonuino.ino:25:5: note: previous specification in 'int voiceMenu(int, int, int, bool, int)' here
 int voiceMenu(int numberOfOptions, int startMessage, int messageOffset,
 ^~~~~~~~~
/tmp/arduino_modified_sketch_818870/Tonuino.ino:347:62: warning: default argument given for parameter 5 of 'int voiceMenu(int, int, int, bool, int)' [-fpermissive]
           bool preview = false, int previewFromFolder = 0) {
                                                          ^
 /tmp/arduino_modified_sketch_818870/Tonuino.ino:25:5: note: previous specification in 'int voiceMenu(int, int, int, bool, int)' here
 int voiceMenu(int numberOfOptions, int startMessage, int messageOffset,
 ^~~~~~~~~
 /tmp/arduino_modified_sketch_818870/Tonuino.ino: In function 'bool readCard(nfcTagObject*)':
/tmp/arduino_modified_sketch_818870/Tonuino.ino:496:5: warning: return-statement with no value, in function returning 'bool' [-fpermissive]
 return;
 ^~~~~~