Liebe Gemeinde, ich weiß, wir sind beim Studio inzwischen bei V6, aber bei mir fristet noch ein alter PC sein Gnadenbrot im Bastelkeller und der schafft den Wechsel von 4 auf 5 nicht (P-III-660MHz mit 0,5GB RAM). Aber mit Studio 4 funktioniert der perfekt. Soviel zur Vorgeschichte. Nun habe ich den uISP-Stick aus dem Hause eHajo, der funktioniert am USB auch perfekt. Ich erzeuge mit AVR Studio 4 die Hexdatei und kann sie anschließend manuell aus einer DOS-Box mit AVRDude per uISP-Stick auf den ATmega8 übertragen. Ich kann sogar AVRDude als "Tool" in das AVR Studio hinein-"customizen". Es wird dann auch gestartet, ABER...es blitzt nur ganz kurz ein DOS-Fenster auf und das war's. Weder programmiert da was noch gelingt es mir, die Ausgabe per > in eine Textdatei umzuleiten. Daher folgende Fragen: a) Gibt es bei Studio 4 überhaupt schon die Möglichkeit, Informationen per Variable aus dem Studio an das Tool zu übergeben wie bei -U flash:w:$(OutputDirectory)\$(Name).hex:i oder kann Studio 4 das noch gar nicht b) Gibt es eine Kommandozeilenoption, die AVRDude zur Ausgabe in eine Logdatei bewegt? Ich habe keine gefunden, aber vielleicht gibt's ja Cracks, die hidden options aus dem Quellcode kennen. Danke, Frank
Das Studio 4 kann ja noch nicht einmal die Atmel-eigenen Programmiertools mit dem aktuellen Projektnamen versorgen, da wird es das wohl auch mit Fremdtools nicht können. Oliver
Hi >Das Studio 4 kann ja noch nicht einmal die Atmel-eigenen >Programmiertools mit dem aktuellen Projektnamen versorgen, Nur wenn man sich nicht auskennt. MfG Spess
Frank schrieb: > Gibt es eine Kommandozeilenoption, die AVRDude zur Ausgabe in eine > Logdatei bewegt?
1 | avrdude ... 2> \temp\logfile.txt |
Kein Fietscher von AVRDUDE, aber eins von cmd.exe ;-) bzw. der Bash, falls diese durch das Makefile aufgerufen wird. In letzterem Falle muss man jedoch die Backslashes durch Vorwärts- schrägstriche ersetzen:
1 | avrdude ... 2> /temp/logfile.txt |
Ansonsten gibt's doch auch irgendein Kommando (“wait” vielleicht?), mit dem man auf einen Tastendruck warten kann, damit das Fenster vom cmd.exe nicht gleich wieder verschwindet. Dieses Kommando kannst du mit einem Semikolon nach dem AVRDUDE-Kommando angeben.
Jörg Wunsch schrieb: >
1 | > avrdude ... 2> \temp\logfile.txt |
2 | > |
Danke zwar für die Antwort, aber ich hatte explizit geschrieben, dass das im Studio 4 nicht funktioniert. Man kann die Umleitung entweder in das obere Feld hinter das avrdude-kommando hängen, dann werden vermutlich die Parameter aus dem zweiten Feld dahinter gehängt. Oder man schreibt die Umleitung in das mittlere Feld als fiktiven letzten Parameter. Beides führt nicht zur Erzeugung einer Log-Datei. Hat das schon mal jemand hinbekommen (via "Tools" im Studio 4!). Dann bitte Screenhots pasten, wo man welche Kommandoelemente hinpacken soll und wo welche Anführungsstriche hingehören. Vielen Dank! Zu den Übergabevariablen gab's bislang nichts Konkretes. Weiss jemand, ob und wie man im Studio 4 Übergabevariablen an die Tools-Kommandos leiten kann? Auch hier: Danke!
Frank schrieb: > aber ich hatte explizit geschrieben, dass > das im Studio 4 nicht funktioniert Ich war mir aber nicht sicher, ob es ggf. daran liegt, dass du ">" statt "2>" geschrieben hast. Scheint aber so zu sein, dass sie da selbst einen spawn-Aufruf starten ohne cmd.exe, dann geht das natürlich nicht. Prinzipiell könnte ich natürlich in avrdude einbauen, dass man statt stderr auch eine Logdatei angeben kann. Dafür wäre nur ein freopen() notwendig, das gehört zum Umfang von Standard-C (ist also auch auf jeden Fall unter Windows verfügbar). Die Option -l wäre ja noch frei. Ich weiß nur nicht, ob dir das jetzt was nützt, wenn ich das einbaue …
Jörg Wunsch schrieb: > Scheint aber so zu sein, dass sie da selbst einen spawn-Aufruf > starten ohne cmd.exe, dann geht das natürlich nicht. Prinzipiell > könnte ich natürlich in avrdude einbauen, dass man statt stderr > auch eine Logdatei angeben kann. Dafür wäre nur ein freopen() > notwendig, das gehört zum Umfang von Standard-C (ist also auch > auf jeden Fall unter Windows verfügbar). Die Option -l wäre ja > noch frei. > > Ich weiß nur nicht, ob dir das jetzt was nützt, wenn ich das > einbaue … Ich parliere mit einem AVRDude-Entwickler? Cool! Ja, wäre schon hilfreich. Dann könnte ich nämlich das -l in die zweite Zeile des Studio 4 zu den anderen Parametern stecken und würde dadurch mitbekommen, was ihn quält. Ich kann aber kein C kompilieren, von daher wäre ein Win-Binary nett. Grüße und Danke Frank
Frank schrieb: > Ja, wäre schon > hilfreich. Dann könnte ich nämlich das -l in die zweite Zeile des Studio > 4 zu den anderen Parametern stecken und würde dadurch mitbekommen, was > ihn quält. OK, habe ich eingebaut. Leider ist das eine Einbahnstraße: freopen() schließt zuerst den bisherigen stderr-Stream, erst danach wird versucht, das neue Logfile zu öffnen. Geht dies schief, hat man kein stderr mehr (zumindest nicht mehr auf portable Weise), auf dem man diese Tatsache vermelden könnte. Ich schreibe daher dann die Fehlermeldung in diesem Falle nach stdout und beende das Programm sofort. > Ich kann aber kein C kompilieren, von daher wäre ein > Win-Binary nett. Ach, aber unsereiner als gar-nicht-Windows-benutzen-Woller muss für dich eins compilieren können? ;-) Du hast Glück: ich habe gerade vor zwei Tagen einen Script eingecheckt, mit dem man ein Win32-Binary mit den MinGW-Tools als Crosscompiler unter Unix bauen kann. Das hier wäre also mal eine Gelegenheit, das damit erzeugte Binary getestet zu bekommen. Prerequisites: du musst die libusb-win32 installiert haben, damit er die entsprechende DLL findet, gegen die gelinkt worden ist. (Ich habe das Zipfile mal 6.0rc2 genannt, weil es sich vom als 6.0rc1 veröffentlichten Sourcecode bereits unterscheidet. In der Versions- ausgabe meldet es sich jedoch noch als 6.0rc1.)
Jörg Wunsch schrieb: > Du hast Glück: ich habe gerade vor zwei Tagen einen Script eingecheckt, > mit dem man ein Win32-Binary mit den MinGW-Tools als Crosscompiler > unter Unix bauen kann. Das hier wäre also mal eine Gelegenheit, das > damit erzeugte Binary getestet zu bekommen. Erstmal allerherzlichsten Dank für diesen Turbo-Service. Und nun: a) Der Cross gebackene Release Candidate funktioniert! Ich habe allerdings nur Betanken des Flashes eines ATMega8 getestet. Läuft sauber mit und ohne -l. b) Mittels -l konnte die Fehlermeldung eingefangen werden:
1 | avrdude.exe: reading input file "$(OutputDirectory)\$(Name).hex" |
2 | avrdude.exe: can't open input file $(OutputDirectory)\$(Name).hex: No such file or directory |
3 | avrdude.exe: read from file '$(OutputDirectory)\$(Name).hex' failed |
Offensichtlich ersetzt Studio 4 die Übergabevariablen nicht, wenn man sie so notiert. Weiß irgendwer, ob Studio 4 das überhaupt kann und wenn ja, wie?
Frank schrieb: > a) Der Cross gebackene Release Candidate funktioniert! Ich habe > allerdings nur Betanken des Flashes eines ATMega8 getestet. Läuft sauber > mit und ohne -l. Schön. Zu den Übergabeparametern von AVR Studio kann ich dir jedoch leider nicht helfen. Als Idee nur noch: es gab dafür meines Wissens auch einen SDK, mit dem man sich selbst Plugins bauen kann. Auf diese Weise sollte man in der Lage sein, ein AVRDUDE-Plugin zu bauen. Wird aber vermutlich nur für Visual C/C++ unterstützt sein.
AVRISP MKII-Programmer - Clones, z.B. basierend auf LUFA und Andere, funktionieren nicht mehr mit avrdude 6.xxx hingegen mit 5.1.xx einwandfrei. Es erfolgt entweder die Meldung "cant find any usb device" oder:
1 | C:\avrdude\avrdude.exe -C C:\avrdude\avrdude.conf -B 1.1851852 -p m328p -P usb -c avrispmkii -U lfuse:r:"C:\TEMP\rbt84AE.tmp":r -U hfuse:r:"C:\TEMP\rbt84AF.tmp":r -U efuse:r:"C:\TEMP\rbt84BF.tmp":r -U lock:r:"C:\TEMP\rbt84C0.tmp":ravrdude.exe: stk500v2_recv_mk2: error in USB receive |
2 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
3 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
4 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
5 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
6 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
7 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
8 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
9 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
10 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
11 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
12 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
13 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
14 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
15 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
16 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
17 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
18 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
19 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
20 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
21 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
22 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
23 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
24 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
25 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
26 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
27 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
28 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
29 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
30 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
31 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
32 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
33 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
34 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
35 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
36 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
37 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
38 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
39 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
40 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
41 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
42 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
43 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
44 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
45 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
46 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
47 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
48 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
49 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
50 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
51 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
52 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
53 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
54 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
55 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
56 | avrdude.exe: stk500v2_command(): failed miserably to execute command 0x03 |
57 | avrdude.exe: stk500v2_getparm(): failed to get parameter 0x98 |
58 | avrdude.exe: Unable to get parameter 0x98 |
59 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
60 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
61 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
62 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
63 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
64 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
65 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
66 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
67 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
68 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
69 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
70 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
71 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
72 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
73 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
74 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
75 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
76 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
77 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
78 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
79 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
80 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
81 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
82 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
83 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
84 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
85 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
86 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
87 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
88 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
89 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
90 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
91 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
92 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
93 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
94 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
95 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
96 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
97 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
98 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
99 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
100 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
101 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
102 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
103 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
104 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
105 | avrdude.exe: stk500v2_recv_mk2: error in USB receive |
106 | avrdude.exe: stk500v2_getsync(): timeout communicating with programmer |
107 | avrdude.exe: stk500v2_command(): failed miserably to execute command 0x02 |
108 | |
109 | avrdude.exe: stk500v2_setparm(): failed to set parameter 0x98 |
110 | |
111 | avrdude.exe done. Thank you. |
Lösung siehe: https://savannah.nongnu.org/bugs/index.php?40831 könnte das eingepflegt werden? Das wäre prima!
Das Wiki zeigt auf obigen Anhang. Aktuell ist 6.3 http://savannah.nongnu.org/projects/avrdude http://download.savannah.gnu.org/releases/avrdude/
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.