Forum: Mikrocontroller und Digitale Elektronik xmodem Datei senden Kommandozeile


von MintUser (Gast)


Angehängte Dateien:

Lesenswert?

Hallo *,

ich betreibe einen Bootloader mit xmodem Protokoll auf einem AVR. 
Firmware updates koennen mit z.B. TeraTerm (Windows) oder CuteCom (Linux 
Mint) durchgefuehrt werden.

Ich wuerde die Updates auch gerne per Kommandozeile durchfuehren und 
habe mal

sz --xmodem -vv firmware.bin </dev/ttyUSB0 > /dev/ttyUSB0

probiert. Es wird zwar etwas gesendet siehe screenshot1.png, jedoch wird 
nach den einzelnen Paketen nicht auf das ACK gewartet. Zum Vergleich ein 
Teil einer funktionierenden Uebertragung mit CuteCom (screenshot2.png).

Auch mit minicom habe ich die Uebertragung nicht hinbekommen:(


Was mache ich falsch?

von Michael K. (Gast)


Lesenswert?

Welche Parameter verwendest Du denn in TeraTerm/CuteCom?

Hast Du mal in die manpage von sz geschaut?

Übrigens: Was sind das für Screenshots? Was soll man darauf erkennen 
können? Ich seh da irgendwie nur weiße Blöcke auf grauem Hintergrund.

42m

von MintUser (Gast)


Lesenswert?

>Welche Parameter verwendest Du denn in TeraTerm/CuteCom?
115200,8n1 fuer die serielle und xmodem als Protokoll.

>Hast Du mal in die manpage von sz geschaut?
Ja, aber so richtig schlau geworden bin ich dabei nicht :)

>Übrigens: Was sind das für Screenshots? Was soll man darauf erkennen
<können? Ich seh da irgendwie nur weiße Blöcke auf grauem Hintergrund.
Mehr braucht man ja auch nicht:) Im Ernst; obere Reihe Daten zum Device 
untere Reihe Daten vom Device. Im zweiten Screenshot sieht man, 
zugegebenermassen wenn man etwas mehr ueber die Software weiss, dass 
jeweils zwei Xmodem Pakete einen Block darstellen. Das erste wird sofort 
Acknowledged und das zweite etwas spaeter, was daran liegt, dass nach 
dem 2. Paket beide Payloads ins Flash geschrieben werden.

Ich habe aber die Vermutung, dass das Problem an meinen USB-Seriell 
Adaptern liegt. Soweit ich mich erinnere habe ich frueher mal mit einem 
aehnlichen Befehl Daten uebertragen. Wenn ich mal wieder einen alten PC 
boote, werde ich es an einem >echten< seriellen Port testen.

42 - finde ich sympathisch :-)

von Michael K. (Gast)


Lesenswert?

MintUser schrieb:
>>Welche Parameter verwendest Du denn in TeraTerm/CuteCom?
> 115200,8n1 fuer die serielle und xmodem als Protokoll.

Hm, ok. Ich hatte ja gehofft, daß Du da noch irgendwas spezielles 
verwendest, was Du im sz-Aufruf vergessen hast :)

>> Übrigens: Was sind das für Screenshots? Was soll man darauf erkennen
>> können? Ich seh da irgendwie nur weiße Blöcke auf grauem Hintergrund.
> Mehr braucht man ja auch nicht:) Im Ernst; obere Reihe Daten zum Device
> untere Reihe Daten vom Device. Im zweiten Screenshot sieht man,
> zugegebenermassen wenn man etwas mehr ueber die Software weiss, dass
> jeweils zwei Xmodem Pakete einen Block darstellen. Das erste wird sofort

Ok, danke :)
Ich hab mir sowas ja schon gedacht, so eine hübsche grafische 
Aufbereitung hatte ich bei meinen Versuchen mit CuteCom et al. aber nie. 
Deswegen meine blöde Frage. Mit sz habe ich - zugegeben - keine 
Erfahrung.

> Ich habe aber die Vermutung, dass das Problem an meinen USB-Seriell
> Adaptern liegt. Soweit ich mich erinnere habe ich frueher mal mit einem

Wenn es mit anderen Tools auf dem Rechner tut sollte das ja eigentlich 
nicht so sein. Das kann dann eigentlich nur ein Problem mit 
falschen/vergessenen Parametern sein.

> 42 - finde ich sympathisch :-)

Ich auch :D

42m

von MintUser (Gast)


Lesenswert?

>Ok, danke :)
>Ich hab mir sowas ja schon gedacht, so eine hübsche grafische
>Aufbereitung hatte ich bei meinen Versuchen mit CuteCom et al. aber nie.
>Deswegen meine blöde Frage. Mit sz habe ich - zugegeben - keine
>Erfahrung.
Die Bildchen kommen nicht aus dem sz sondern von meinem einfachen LA. 
Man kann sogar noch bis auf Byte- oder Bitebene aufzoomen wenn man 
moechte, jedoch dachte ich, fuer mein Problem reicht die Blockansicht 
aus.

Ich habe uebrigens mal eine alte Kiste hochgefahren - und 
gluecklicherweise war ein ssh server drauf :)
Wie ich es vermutete: Der xmodem Transfer funktioniert mit dem Befehl:

sz --xmodem -vv firmware.bin </dev/ttyS0 >/dev/ttyS0

hervorragend und fehlerfrei:-)))

Danke trotzdem an jeden, der sich Gedanken gemacht hat.

von MintUser (Gast)


Lesenswert?

Als letztes zu diesem Thema habe ich noch ein FTDI Demoboard FT232H an 
meinen Controller angeschlossen. Auch mit diesem USB-Seriell Adapter 
funktioniert der xmodem upload mit dem Befehl:

sz --xmodem -vv firmware.bin </dev/ttyUSB1 >/dev/ttyUSB1

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.