Wie ich PlatformIO Arduino behoben habe
Problem:
Beim Hochladen einer Atmel AVR-Firmware wie für den Arduino Uno mit PlatformIO sehen Sie eine Fehlermeldung wie
avrdude done. Thank you.
Auto-detected: /dev/ttyACM0
Uploading .pio/build/uno/firmware.hex
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
avrdude done. Thank you.
*** [upload] Error 1or
Auto-detected: /dev/ttyUSB0
Uploading .pio/build/uno/firmware.hex
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
avrdude done. Thank you.
*** [upload] Error 1Lösung
Dieses Problem tritt auf, wenn:
- Entweder kein Bootloader auf dem Board vorhanden ist oder der Bootloader beschädigt ist oder
- Die falsche Upload-Geschwindigkeit für diesen Bootloader ausgewählt ist
Beachten Sie, dass Sie einen neuen/aktualisierten Bootloader mit der Arduino IDE flashen können, wodurch der alte/defekte Bootloader überschrieben wird. Sie können dies mit einem AVR-Programmer tun, oder Sie können es mit einem anderen Arduino tun. Dies wird die Arbeit mit dem Board im Allgemeinen viel einfacher machen, aber es wird höchstwahrscheinlich Ihre Programmierprobleme beheben. Falls Sie einen neuen Bootloader flashen, ist die korrekte upload_speed-Einstellung in platformio.ini typischerweise upload_speed = 115200.
Falls Sie mit dem aktuell auf dem Board vorhandenen Bootloader arbeiten möchten, müssen Sie die korrekte upload_speed-Einstellung auswählen.
Je nach Alter des Bootloaders auf dem Board hat dieser typischerweise entweder 115200, 57600 oder 19200 Baud.
Um das Problem zu beheben, bearbeiten Sie platformio.ini und fügen Sie hinzu
upload_speed = 115200und starten Sie den Upload neu. Falls dies nicht funktioniert, versuchen Sie
upload_speed = 57600und
upload_speed = 19200Selten funktioniert die folgende Einstellung:
upload_speed = 9600oder
upload_speed = 230400Falls keine dieser Einstellungen funktioniert, liegt entweder ein Hardwaredefekt vor oder Sie müssen einen neuen Bootloader auf das Board flashen. Ich empfehle, immer zuerst zu versuchen, einen Bootloader zu flashen, bevor das Board weggeworfen wird.