Hi, (avrdude unter Debian) ich habe kürzlich meinen Parallelport-Programmer durch einen USB-ISP ersetzt, funktioniert auch wunderbar. Allerdings ist der USB-Programmer deutlich langsamer, das nervt mit der Zeit. Ich habe deshalb versucht die Sache durch Übergabe des bitrate-Parameters zu beschleunigen, auf der Console funktioniert das auch. Da ich aber aus dem Makefile heraus programmieren möchte, müßte der Parameter per .avrduderc (oder im Makefile) übergeben werden, das kriege ich aber nicht auf die Reihe. B = 2; oder auch bitrate = 2; führen nur zu einem error at ./root/.avrduderc:1 unrecognized character: "b" Wie muß das korrekt lauten? Danke.
Benutzt denn keiner eine personalisierte .avrduderc oder ein entsprechend angepasstes Makefile?
Ich benutze weder das eine noch das andere - mehr oder weniger :-) Stattdessen hab ich ein eigenes Schellskript gebastelt (in ~/bin/), das den avrdude mit den passenden Parametern aufruft. Als Leckerli sucht selbiges Skript auch noch im aktuellen Arbeitsverzeichnis nach einer projektbezogenen Konfigurationsdatei, sodass mans auch problemlos aus Code::Blocks und ähnlichem heraus verwenden kann. HTH
Hey Dude schrieb: > Benutzt denn keiner eine personalisierte .avrduderc oder ein > entsprechend angepasstes Makefile? Der bitclock lässt sich, laut Manual, nur per Kommandozeile definieren.
1 | -B bitclock |
2 | Specify the bit clock period for the JTAG interface or the ISP clock (JTAG ICE |
3 | only). The value is a |
4 | oating-point number in microseconds. The default value |
5 | of the JTAG ICE results in about 1 microsecond bit clock period, suitable for |
6 | target MCUs running at 4 MHz clock and above. Unlike certain parameters in |
7 | the STK500, the JTAG ICE resets all its parameters to default values when the |
8 | programming software signs o from the ICE, so for MCUs running at lower |
9 | clock speeds, this parameter must be specied on the command-line. |
Ansonsten sieht die .avrduderc genauso aus wie die /etc/avrduderc (oder wo auch immer die bei dir liegt). Um zu wissen, wie Dein Makefile anzupassen ist, müssten wir es erstmal sehen.
Hey Dude schrieb: > Da ich aber aus dem Makefile heraus programmieren möchte, müßte > der Parameter per .avrduderc (oder im Makefile) übergeben werden, das > kriege ich aber nicht auf die Reihe. Nun, avrduderc gestattet nur das, was auch in avrdude.conf stehen kann, mit der Ergänzung, dass man "default_programmer", "default_serial" und "default_parallel" dort angeben kann (die wären natürlich auch im avrdude.conf statthaft, aber dort nicht sinnvoll). Was bekommst du denn aber im Makefile nicht hin? Dem AVRDUDE ein paar Kommandozeilenoptionen mit auf die Reise zu geben, sollte doch eine der einfachsten Übungen für make sein.
Erst mal vielen Dank für alle Antworten. Es scheint also so daß ich den Parameter nicht per avrduderc übergeben kann. Ich benutze ein minimal angepasstes Makefile aus den Beispielen von hier. Mir war nicht klar wie ich da eine Option mit Parameter einpflege. Der für den Programmer geänderte Teil lautet jetzt so:
1 | AVRDUDE_PROGRAMMER = usbtiny |
2 | |
3 | AVRDUDE_PORT = usb |
4 | |
5 | # increase bitrate |
6 | AVRDUDE_BITRATE = 3 |
7 | |
8 | AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex |
9 | # AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep |
10 | |
11 | # AVRDUDE_ERASE_COUNTER = -y |
12 | |
13 | # AVRDUDE_NO_VERIFY = -V |
14 | |
15 | # AVRDUDE_VERBOSE = -v -v |
16 | |
17 | AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) |
18 | AVRDUDE_FLAGS += -B $(AVRDUDE_BITRATE) |
19 | AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY) |
20 | AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE) |
21 | AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER) |
22 | |
23 | # --------------------------------------------------------------------------- |
Einmal feste drüber nachgedacht, reichte mein Abstrahiervermögen dann doch aus um zu erkennen, wie und wo ich da ein "bitrate = 3" unterbringen kann ;-) Manchmal reicht es eben wenn man drüber spricht. Jetzt funktioniert das wie gewünscht, vielen Dank nochmal.
wenn ich mich nicht falsch erinnere heißt ein kleinerer Wert eine höhere Geschwindigkeit, da dieser wert nicht eine Rate angibt sondern die Anzahl an Wartezyklen. -B 1 ist also schneller als -B 3
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.