AVRISP MK2 und Treiber

Hallo, wir verwenden in der Produktion oben genannten Programmer. Bis jetzt rufe ich aus einem Programm heraus das Programm STK500.exe auf. Das klappt zwar soweit, aber ich habe keine Rückmeldung usw. Nun möchte ich jetzt direkt mit dem Progger kommunizieren. Das Protokoll ist ja soweit offengelegt.

formatting link
Nur wie spreche ich den USB Treiber an? Muß ich dazu von Jungo die Software haben? Die wäre ja nicht gerade sehr preiswert ...

Oder ist es sinvoller Avrisp mit RS232 aufzukaufen und dann über einen RS232-USB Wandler zu gehen?

Andreas

Reply to
Andreas Ruetten
Loading thread data ...

Andreas Ruetten schrieb:

AVRDUDE implementiert eben dieses. Es setzt auf der libusb auf, die es auch für Win32 gibt. Da Windows keinen generischen USB-Treiber von Haus aus mitbringt (auf dem setzt libusb nämlich unter Unix auf), hast du dann zwei Möglichkeiten: entweder lässt du AVR Studio noch den Jungo-Treiber installieren und installierst libusb-win32 als Filter, dann setzt sie sich auf die existierenden Treiber drauf. Oder aber du schreibst ein INF-File und installierst den Treiber direkt von libusb-win32. Letzteres macht meines Wissens WinAVR.

--
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
Reply to
Joerg Wunsch

Was für Rückmeldungen brauchst Du denn? Ich benutze den Programmer auch, und habe mir für einige Aufgaben Scripte geschrieben, das funktioniert inklusive Rückmeldungen.

Beschreib mal genauer was Du machst, und wo Du keine Rückmeldungen hast bzw. welche brauchst.

MfG

Reply to
Thorsten Böttcher

Thorsten Böttcher schrieb:

Na zum Beispiel das der Verify geklappt hat usw ...

Hmm, Ausgabe vom Bildschirm in eine Datei leiten?

Also ich habe ein C# Programm( Windows) , das Daten und eine Seriennummer erzeugt, und dann eine Hex Datei fürs EEPROM erstellt. Dann rufe ich einfach eine Batchdatei auf, wo gelöscht, das Flash und das Eeprom beschrieben wird. Nur bekomme ich eben keine Rückmeldung ob das alles geklappt hat.... ( Außer der Bildschirmmeldung )

Andreas

Reply to
Andreas Ruetten

Andreas Ruetten schrieb:

...

Ähnliches habe ich auch mal gemacht: Seriennummer erzeugen, avrdude versucht solange zu programmieren, bis Erfolg, -PIEP-, dann wieder von vorn.

Der Exit-Status von avrdude (oder uisp?) ist eindeutig.

Ob das auch unter Windows so einfach zu machen ist, wissen die Cygwin-Experten bestimmt.

Sinn der Sache war, ein paar hundert Geräte mit dem PPPP[0] einhändig zu programmieren. Nach dem Zehnten konnte man dabei lesen, fernsehen oder sonstwas machen.

Falk [0]Popeliger ParallelPort Programmierer

Reply to
Falk Willberg

Wenn Du die STK500,exe aufrufst, gibt diese beim Beenden einen Rückgabewert zurück, den Du auswerten kannst.

0 heißt alles ok, !=0 heißt Fehler.

Ich meine auch dass es irgendwo eine Liste mit den Rückgabewerten gab, mir hat allerdings immer die Prüfung !=0 gerereicht, weil mir gereicht hat zu wissen dass nicht geklaptt hat.

Nein, Rückgabewert prüfen. Hier mal eins von meinen Scripts dafür:

Option Explicit Dim WshShell, Hexfile, ProgramPath, Return

Set WshShell = WScript.CreateObject("WScript.Shell")

Hexfile="c:\test.hex" ProgramPath="""c:\Programme\Atmel\AVR Tools\STK500\stk500"""

'Prozessor löschen Return=WshShell.Run(ProgramPath & " -cUSB -e -datmega32",1,True) If Return"0" Then MsgBox("Prozessor konnte nicht gelöscht werden!") wscript.quit End If

'Fusebits setzen Return=WshShell.Run(ProgramPath & " -cUSB -dATmega32 -fcf3f -Fcf3f",1,true) If Return"0" Then MsgBox("Fusebits konnten nicht programmiert werden!") wscript.quit End If

'Program Flash Return=WshShell.Run(ProgramPath & " -cUSB -datmega32 -if" & Hexfile & "

-pf -vf",1,true) If Return"0" Then MsgBox("Chip konnte nicht programmiert werden!") wscript.quit End If

'Lockbits setzen Return=WshShell.Run(ProgramPath & " -cUSB -dATmega32 -lfc -Lfc",1,true) If Return"0" Then MsgBox("Lockbits konnten nicht programmiert werden!") wscript.quit End If

Warum rufst Du nicht einfach anstatt der Batch direkt die STK500.exe aus Deinem C#-Programm auf und übergibst die passenden Parameter?

Ansonsten mußt Du halt dafür sorgen dass Deine Batch-Datei auch den Returnwert weiterreicht, bzw. bei mehreren Aufrufen bei einem Fehler abbricht und selber einen passenden Wert zurück gibt.

MfG

Reply to
Thorsten Böttcher

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.