Hallo, ich versuche gerade, mit avrdude einen mega8 zu flashen... hab das schon eine Weile nicht mehr gemacht. Wie ist denn der Standardpfad von dem aus es losgeht in avrdude? Habe versucht, einen absoluten Pfad ala d:\programme\winavr\projects\projekt1\main.hex einzugeben in der Kommandozeile, aber das haut nicht hin... Gruss Fragender
In meinen Projekten arbeite ich mit einem relativen Pfad. Ich wechsele in das Verzeichnis, in dem sich die HEX-Datei befindet und rufe dort AVRDUDE auf. Um Tipparbeit zu sparen mache ich das mit einer Batchdatei. Beispiel aus http://www.mikrocontroller.net/articles/Pollin_Funk-AVR-Evaluationsboard#Parallelport_ISP_Typ_STK200_2
1 | @echo off |
2 | echo Parallelport ISP Typ STK200 |
3 | echo Programmiere Atmega8 Flash-ROM mit Datei atmega8.hex |
4 | d:\winavr\bin\avrdude -p atmega8 -c stk200 -P lpt1 -e -U flash:w:atmega8.hex |
Man kann sich auch eine entsprechende Kommandozeile in seiner bevorzugten IDE eintragen. Oder den Verzeichniswechsel in die Batchdatei mit aufnehmen... Ich bin mir nicht sicher, ob du den absoluten Pfad übergaupt verwenden kannst, denn die : in dem Teil -U flash:w:atmega8.hex könnten sich mit dem : aus dem absoluten Pfad beissen.
Stefan "stefb" B. wrote: > In meinen Projekten arbeite ich mit einem relativen Pfad. Ich wechsele > in das Verzeichnis, in dem sich die HEX-Datei befindet und rufe dort > AVRDUDE auf. AVRDUDE benutzt selbst keinen Standardpfad, es macht mit dem übergebenen Namen ein fopen(). Es wird das Verzeichnis dafür benutzt, welches vom Betriebssystem impliziert wird, die Konzepte eines `current working directory' unterscheiden sich dabei meines Wissens teilweise selbst zwischen Windows-Versionen (wobei WinNT und Derivate eher ähnlich zu Unix ist). > Ich bin mir nicht sicher, ob du den absoluten Pfad übergaupt verwenden > kannst, denn die : in dem Teil -U flash:w:atmega8.hex könnten sich mit > dem : aus dem absoluten Pfad beissen. Es geht, aber dann ist die volle -U-Spezifikation notwendig, also mit allen Doppelpunkten: »-U flash:w:atmega8.hex:i«. Wenn man im Dateinamen keinen Doppelpunkt hat, lässt sich obiges zu »-U atmega8.hex« verkürzen. Da die Win32-Version von AVRDUDE gegen die MinGW-Bibliotheken gelinkt wird (und folglich dessen fopen()-Implementierung benutzt wird), müsste man einen absoluten Pfadnamen auch angeben können als -U /d/programme/winavr/projects/projekt1/main.hex Die Backslashes darf man getrost durch Vorwärtsstriche ersetzen, das hat Windows intern schon immer verkraftet. Nur command.com und cmd.exe können das nicht, aber die reichen das ja in diesem Falle nur weiter. Wenn man den Aufruf aus einem Makefile (für GNU make) heraus macht, dann liegt implizit eine bash als Shell dazwischen, die wiederum könnte Zeichen wie \n fehlinterpretieren. Da ist man mit den Vorwärtsstrichen auf der sicheren Seite.
Ok, ich geh wieder in das Verzeichnis direkt, so habe ich da glaube früher auch gemacht.
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.