Wie ich PlatformIO Arduino behoben habe

English Deutsch

Problem:

Beim Hochladen einer Atmel AVR-Firmware wie für den Arduino Uno mit PlatformIO sehen Sie eine Fehlermeldung wie

avrdude done. Thank you.

platformio_avrdude_error_acm0.txt
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 1

or

platformio_avrdude_error_usb0.txt
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 1

Lösung

Dieses Problem tritt auf, wenn:

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

platformio_upload_speed_115200.ini
upload_speed = 115200

und starten Sie den Upload neu. Falls dies nicht funktioniert, versuchen Sie

platformio_upload_speed_57600.ini
upload_speed = 57600

und

platformio_upload_speed_19200.ini
upload_speed = 19200

Selten funktioniert die folgende Einstellung:

platformio_upload_speed_9600.ini
upload_speed = 9600

oder

platformio_upload_speed_other.txt
upload_speed = 230400

Falls 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.


Check out similar posts by category: Arduino, Electronics, Embedded, PlatformIO