Weiss jemand ob es eine Möglichkeit gibt avrdude dahingehend zu automatisieren dass es nur einmal ausgeführt wird und dann ein controller nach dem anderen flasht. Also quasi einmal starten und dann nur noch die controller am avrdragon tauschen.... Das Ganze unter Linux. Danke schonmal für die Antworten.
Einfach ein Skript welches auf Tasteneingabe wartet und dann wieder von vorne anfängt? Für Linux kann ich es dir leider aus dem Kopf nicht sagen. Bei Windows Batch verwendet man PAUSE für das Warten auf die Taste und dann ein GOTO zum Sprung an den Anfang.
Wenn Du mit der konsole arbeitest und 2 Tastendrücke nicht zu viel sind: die ganz normale linux history Funktion. Pfeiltaste nach oben + Enter.
Oh hatte vergessen was zu erwähnen Es sollen pro Vorgang eine hex geflasht und im anschluss, wenn das flashen erfolgreich war, die lockbits gesetzt werden. Ich müsste also irgendwie an die errorcodes vom avrdude kommen... aber wie ?
Michael schrieb: > Oh hatte vergessen was zu erwähnen > Es sollen pro Vorgang eine hex geflasht und im anschluss, wenn das > flashen erfolgreich war, die lockbits gesetzt werden. Ich müsste also > irgendwie an die errorcodes vom avrdude kommen... aber wie ? lockbits und fuses kann avrdude direkt mitflashen. Da muss kein weiterer Aufruf erfolgen.
@Cyblord in welcher Reihenfolge werden denn die Speicherbereiche geflasht? So wie die Parameter übergeben wurden? Denn bringt mir ja nichts wenn erst die Lockbits geschrieben werden und dann das hex. Die Lockbits werden doch beim Flashen wieder zurückgesetzt, oder? Und bezüglich der Verknüpfung mit &&: Werden auf jeden fall beide Befehle ausgeführt oder nur wenn der erste erfolgreich war?
> Denn bringt mir ja nichts wenn erst die Lockbits geschrieben werden
Soweit ich weiss, wirken alle Fuse Bits erst nach dem nächsten Reset.
Dann müste Reihenfolge egal sein.
Anstatt dumm zu fragen kannst du es ja einfach mal ausprobieren.
Kommandozeilen.Befehle automatisiert man typischerweise mit Shell
Scripten. Unter diesem Stichwort findest du sicher 100.000 Tutorials.
Michael schrieb: > nur wenn der erste erfolgreich war? Genau so. Probier es aus:
1 | mkdir y && cd y |
Wenn das Verzeichnis nicht existiert funktioniert das, dann:
1 | cd .. |
Wenn es existiert und mkdir nicht mit -p gezwungen wird, zeigt es den Fehler und es wird nicht in y gewechselt. Wenn Du aber die Pfeil nach oben Methode benutzt, kannst Du auch nach erfolgreichem flashen selbst entscheiden und 2x Pfleil nach oben drücken.
In diesem Buch gibt es ein Kapitel zur Shell programmierung: http://stefanfrings.de/smstools/SMS_Anwendungen.pdf Da wird deine konkrete Frage auch direkt beantwortet (Kapitel 4.9)
avrdude sollte in der Paketverwaltung deiner Distribution zu finden sein.
> irgendwie an die errorcodes vom avrdude kommen... aber wie ? > && Die Shell haelt die Error-/Exitcodes in der Variable $? fest. Wert 0 = Fehlerlos; alle anderen Werte Fehler mit Bedeutung gemäss Doku des Programmes (man avrdude)
1 | $ cd nirgends/hin ; echo "$?" |
2 | |
3 | $ cd "$HOME" ; echo "$?" |
Weiteren Programmablauf mit Kontrollstrukturen "wie gewohnt[TM]"
1 | If [0 = "$?"] |
2 | then |
3 | gutso |
4 | else |
5 | andersfalsch |
6 | fi |
7 | |
8 | for n in a b c d |
9 | do |
10 | bearbeite n |
11 | done |
Ich mag ABS "Advanced Bash Scripting Guide": enthaelt gute Erklaerungen +viele Beispiele. Tip: (trotz Oede) "man bash" querlesen um die Terminologie/Themennomenklatur aufzunehmen, dies erleichtert die weitere Suche nach Details resp. das Wiederauffinden. PS: wegen genau solchen Situationen arbeite auf keinem System ohne POSIX-ische Shell (bash, ksh, sh, busybox, ...) Solange ich unter Windoof$ nicht nach Mauskilometern entschaedigt werde, installiere ich immer gleich CygWin. Grosser Vorteil: unter allen systemen 90++% gleiche maechtige shell, kaum Umlernen bei Systemwechsel, bestehendes Wissen sofort anwendbar - Neues kommt ergaenzend hinzu -nicht ersetzend daneben! 73 de Stephan HB9ocq
> installiere ich immer gleich CygWin.
Willkommen im Club. Kann ich nur wärmstens empfehlen. Vor allem den
Leuten, die sowohl mit Linux als auch mit Windows arbeiten (müssen).
Wer ausschließlich mit Microsoft verheiratet ist, der wird vermutlich
eher die Powershell empfehlen. Dank Cygwin ist die für mich persönlich
jedoch völlig uninteressant.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.