Forum: Mikrocontroller und Digitale Elektronik Arduino Bootloader Vmware


von Sven (Gast)


Lesenswert?

Guten morgen. Ich brauch gerad mal Hilfe. Ich möchte aus einem 
Virtuellen Windows Xp (Vmware) einen Arduino flashen. aber es klappt 
nicht.
Die Treiber scheinen Ok ich habe eine Serielle und kann mittels 
Terminalprogramm kontakt zum Arduino aufnehmen.

XLoader meldet Upload failed. Und die Arduino anwendung meldet "avrdude: 
ser_send(): size/send mismatch"

Andere serielle Bootloader über Usb rs232 an anderen Avr's kann ich 
verwenden. Und Das Arduino Board ist auch ok Am anderen Pc Mit echtem 
Winxp klappt es.

Hat jemand eine Idee?

von Sven (Gast)


Lesenswert?

Oder kennt wer andere Programme welche unter Xp laufen und das laden 
einer Hex in einen Arduino ermöglichen?

von Jürgen S. (jurs)


Lesenswert?

Sven schrieb:
> Hat jemand eine Idee?

Probiere mal den Upload mit "manuellem Reset" statt mit "Auto-Reset".

Aus der Arduino-IDE heraus funktioniert der Upload mit manuellem Reset 
so:
- Reset-Taster auf dem Board drücken und gedrückt halten
- Upload aus der Arduino-IDE heraus starten
- Sobald in der Statuszeile der IDE "Uploaden.." angezeigt wird, 
blitzartig den Reset-Taster loslassen

Das Timing mit automatischen Reset beim Upload ist vielfach schon auf 
richtigen Betriebssystemen kritisch, das dürfte auf virtualisiert 
laufenden Betriebssystemen nicht besser werden.

Vielleicht solltest Du mal über die Anschaffung eines ISP-Programmers 
nachdenken.

von Sven (Gast)


Lesenswert?

Jürgen S. schrieb:
> Vielleicht solltest Du mal über die Anschaffung eines ISP-Programmers
> nachdenken.
Hab ich zum glück :) ich hätt nur gerne den Arduino bootloader 
verwendet.

Die Fehlermeldung avrdude: ser_send(): size/send mismatch" kommt sogar 
schon wenn ich den Reset noch festhalte. Irgendwie ungewöhnlich. 
Eigentlich geht es mir gerade sogar mehr darum rauszufinden warum als um 
das Endergebnis. Wie gesagt mich wundert das Andere Bootloader wunderbar 
laufen und Das Arduino unter einem echten Xp auch noch hinhaut nur aus 
vmware nicht wobei die serielle wunderbar klappt.

von Jürgen S. (jurs)


Lesenswert?

Sven schrieb:
> Die Fehlermeldung avrdude: ser_send(): size/send mismatch" kommt sogar
> schon wenn ich den Reset noch festhalte. Irgendwie ungewöhnlich.

Kann es sein, dass es sich um einen besonders großen Sketch handelt, der 
für das UNO-Board die "upload.maximum_size" überschreitet?

Wieviele Bytes hat die hex-Datei?

Tritt dasselbe Problem mit kleineren Test-Sketches auf, wie z.B. "Blink" 
aus den Arduino-Beispielen?

von Sven (Gast)


Lesenswert?

es handelt sich um genau dieses blink aus den Beispielen. habe aber auch 
andere Beispiele verwendet. Arduino ist nicht so meine umgebung daher 
nix selbt geschribenes. Das verwendete Board ist das mega2560. Also 
Platz sollte genug sein.
Und das Blink von einem echten xp system geladen klappt sofort. Genau 
wie das Laden von hex dateien mit dem XLoader.

Zumindest habe ich aus anderen stellen in anderen Foren mittlerweile 
erfahren das ich nicht aleine bin mit meinem Problem.

von Jürgen S. (jurs)


Lesenswert?

Sven schrieb:
> Zumindest habe ich aus anderen stellen in anderen Foren mittlerweile
> erfahren das ich nicht aleine bin mit meinem Problem.

Ich kenne vmware nicht, aber beim Googeln meine ich darauf Hinweise 
entdeckt zu haben, dass es mit den Einstellungen für die virtualisierten 
seriellen Schnittstellen zu tun haben könnte. Da soll es im virtuellen 
BIOS eine Einstellmöglichkeit für die Serial Schnittstellen "Auto" und 
"On" geben, und die Probleme treten offenbar nur mit der Einstellung 
"Auto" auf und verschwinden mit der Einstellung "On".

Wie gesagt, ich kenne mich damit nicht aus, aber es klingt für mich 
plausibel, dass es etwas mit den Virtualisierungseinstellungen der 
seriellen Schnittstellen in vmware zu tun haben könnte.

von Sven (Gast)


Lesenswert?

So Problem gelöst.
Also den Arduino nicht mit der virtuellen Maschine verbinden sondern mit 
dem Host system.
Dann in den einstellungen des Virtuellen systems einen neuen Com port 
hinzufügen. Es gibt allerdings nur den ttys0. (Onboard hardware)
Dann die Config datei der Virtuellen Maschine öffnen (Im ordner des 
Virtuellen systems die .vmx datei)
dort die zeile serial1.fileName = "/dev/ttyS0"
zu serial1.fileName = "/dev/ttyACM0" ändern speichern und fertig.

Das gilt übrings für alle Ftdi usb rs232 Geräte. Warum alle anderen 
Bootloader und andere rs232 Komunikation trozdessen geklappt hat und 
gerade avrdude nicht weiß ich leider noch immer nicht.

von chris_ (Gast)


Lesenswert?

Du könntest den Arduino außerhalb von VM-ware mit einem Scribt flaschen.

Beitrag "Arduino Hex-File flashen Batch script"

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.