Avrdude ser_drain(): read error, stk500_getsync()<!-- --> · blogweb.pl
Link do strony głównej

Blog o programowaniu, informatyce i elektronice.

Avrdude ser_drain(): read error, stk500_getsync()

Tomek

W internecie istnieje wiele opisów jak podłączyć mikrokontroler avr do esp i zdalnie (OTA) aktualizować jego firmware. Niestety używając do tego programu avrdude napotykamy na problem. Pod macos-em wszystko działa poprawnie. Pod windows-em wyskakuje błąd ser_drain(): read error.

Błąd ser_drain(): read error

Przy próbie odczytu procesora przez sieć pojawia się taki lub podobny komunikat:

avrdude -carduino -pm8 -Pnet:192.168.1.149:23
avrdude: ser_drain(): read error: The parameter is incorrect.
avrdude: ser_drain(): read error: The parameter is incorrect.
avrdude: ser_drain(): read error: The parameter is incorrect.

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x53
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x74
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x70
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3a
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x31
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x36
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x0d
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x0a
avrdude: ser_drain(): read error: The parameter is incorrect.
avrdude done. Thank you.

Rozwiązanie problemu

Problem został opisany tutaj:

https://savannah.nongnu.org/bugs/?48767#comment5

A ktoś o nicku ccooper21 umieścił poprawione źródła na githubie:

https://github.com/ccooper21/avrdude/tree/master/avrdude

Niestety nie znalazłem tam wersji skompilowanej. Postanowiłem skompilować źródła przy pomocy MinGW. Tak powstała działająca wersja avrdude.exe, którą można pobrać poniżej.

avrdude -carduino -pm8 -Pnet:192.168.1.149:23

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307 (probably m8)
avrdude: safemode: Fuses OK (E:FF, H:00, L:00)
avrdude done.  Thank you.

Download

avrdude.exe v6.3 updated

Jak wykorzystać poprawiony avrdude ?

Tak poprawiony avrdude może być użyty do wgrywania firmware-u do mikrokontrolerów avr takich jak Atmega8, Atmega328P itp. Sposób podłączenia atmegi do ESP-01 opiszę w jednym z kolejnych postów.

Komentarze


Napisz komentarz: