Wie kann man mit avrdude die ISP Geschwindigkeit erhöhen? 30s für 30kbyte für jeweils lesen und schreiben dauert mir zu lange.
http://www.mikrocontroller.net/articles/AVRDUDE#Tipps_.2B_Tricks -B1 setzt die Bit-Zyklusdauer auf (teoretisch) 1µS also 1MHz SPI-Frequenz. Ist aber ein theoretischer Maximalwert, da der µC ständig durch USB-Interrupts gebremst wird. mfG ingo
ingo schrieb: > -B1 > setzt die Bit-Zyklusdauer auf (teoretisch) 1µS also 1MHz SPI-Frequenz. Ein Mikrosiemens? > Ist aber ein theoretischer Maximalwert, da der µC ständig durch > USB-Interrupts gebremst wird. Welcher µC wird ständig durch USB-Interrupts gebremst? Ist übrigens alles andere als ein theoretischer Maximalwert. Das AVRISPmkII kann bis zu 8 MHz ISP-Takt arbeiten (das wäre also ein -B 0.12 als Option). Fragt sich natürlich, bei welchem Controller einem dieser (nun wirklich theoretische) Maximalwert was nützt, da man ja bei ISP zugleich die Forderung f_ISP < f_CPU/4 einhalten muss (und die Xmegas, die maximal 32 MHz CPU-Takt können, nicht mit ISP programmierbar sind). In aller Regel bremst einen daher die Fordung f_ISP < f_CPU/4 beim Programmieren mit ISP am meisten aus, vor allem natürlich bei Controllern, die mit den 1 MHz CPU-Takt aus dem Auslieferungszustand arbeiten. Damit dem OP geholfen werden kann, müsste er uns wohl als erstes mal was über sein Setup erzählen: . welcher Controller? . mit welchem CPU-Takt? . welcher Programmer? . welche Einstellungen sind derzeit wirksam? Ein STK500 oder AVRISP merken sich übrigens die letzte ISP-Takt- frequenz, die ihnen mal vorgegeben worden ist. Diese wird dann wirksam, wenn keine -B-Option angegeben ist.
Sorry, hatte mir irgendwie eingebildet, was von USBASP gelesen zu haben, oder es so verknüpft. Die genannten Hinweise gelten nur für USBASP und USBTINY (Stick). Bei einer Periodendauer sind natürlich (mikro-) Sekunden gemeint. mfG ingo
Der Progger ist ein STK500(http://www.elektor.de/jahrgang/2008/juli-047-august/avr-isp-kompatibler-programmer-mit-usb.547966.lynkx). Der µC ist in dem Fall ein ATmega644 mit 16Mhz Mit -B1.1 (Bei 1 kam, "1 to smal use 1.1) geht es schon schneller. (17sec statt 30) Das sind aber auch nur ca 15kHz?
1 | /usr/bin/avrdude -C /usr/local/etc/avrdude.conf -p m644 -P /dev/ttyACM0 -c stk500 -B1.1 -U flash:w:/media/Austausch_/avriotest/Hexfiles/AdcWS_M644.hex:a |
2 | |
3 | avrdude: AVR device initialized and ready to accept instructions |
4 | |
5 | Reading | ################################################## | 100% 0.09s |
6 | |
7 | avrdude: Device signature = 0x1e9609 |
8 | avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed |
9 | To disable this feature, specify the -D option. |
10 | avrdude: erasing chip |
11 | avrdude: reading input file "/media/Austausch_/avriotest/Hexfiles/AdcWS_M644.hex" |
12 | avrdude: input file /media/Austausch_/avriotest/Hexfiles/AdcWS_M644.hex auto detected as Intel Hex |
13 | avrdude: writing flash (31950 bytes): |
14 | |
15 | Writing | ################################################## | 100% 17.49s |
16 | |
17 | avrdude: 31950 bytes of flash written |
18 | avrdude: verifying flash memory against /media/Austausch_/avriotest/Hexfiles/AdcWS_M644.hex: |
19 | avrdude: load data flash data from input file /media/Austausch_/avriotest/Hexfiles/AdcWS_M644.hex: |
20 | avrdude: input file /media/Austausch_/avriotest/Hexfiles/AdcWS_M644.hex auto detected as Intel Hex |
21 | avrdude: input file /media/Austausch_/avriotest/Hexfiles/AdcWS_M644.hex contains 31950 bytes |
22 | avrdude: reading on-chip flash data: |
23 | |
24 | Reading | ################################################## | 100% 16.25s |
25 | |
26 | avrdude: verifying ... |
27 | avrdude: 31950 bytes of flash verified |
28 | |
29 | avrdude done. Thank you. |
>STK500(http://www.elektor.de/jahrgang/2008/juli-047-augus...). >Mit -B1.1 (Bei 1 kam, "1 to smal use 1.1) geht es schon schneller. >(17sec statt 30) Das sind aber auch nur ca 15kHz? Wenn du so eine Krücke mit USB über einen ATMega8 benutzt darfst du dich nicht wundern das das nicht schneller geht. Alleine aus dem Grund lohnen die 39Euro für ein Original AVR ISP MKII schon. Dann hat man solchen Ärger gar nicht erst.
Warum nennt nur jeder Arsch sein Zeugs "STK500"? Das ist Nepp, das gehört abgemahnt! ...
Sebastian D. schrieb: > STK500 Kompatibel Es ist aber nicht kompatibel (in Hard- und Software), das ist einfach nur ein Marketing-Schwindel, der Vermarktungsvorteile erschummelt und dabei die Leute verarscht. Und ja, es mag für diesen Zweck geeignet sein, aber unter "kompatibel" versteht man was Anderes. Ein USBASP-Clone für dreifuffzich aus China oder Hongkong z.B. ist hervorragend verarbeitet, erfüllt seinen Zweck und ist für die meisten AVRs völlig ausreichend. Er ist aber nicht (und wird auch nie) zum STK500 oder AVRISPmkII kompatibel (sein), schon alleine wegen anderer Treiber. Mein Einwurf: Hannes Lux schrieb: > Warum nennt nur jeder Arsch sein Zeugs "STK500"? Das ist Nepp, das > gehört abgemahnt! bezog sich übrigens nicht nur auf Elektor, sondern auch auf die vielen Verkäufer in der Bucht, die USBASP-Clones und sogar Parallelport-Programmer als STK500 anpreisen. Genauso wie die Maxen ihr vermurkstes AVR-Board großkotzig "Atmel-Evaluationsboard" nennen, obwohl Atmel das mangels Mängel so nie freigegeben hätte. Das ist einfach nur Etikettenschwindel als Marketingstrategie. Viel Spaß bei der Party mit dem aufgetakelten Tannenbaum... ...
Hannes Lux schrieb: > ... obwohl Atmel das mangels Mängel so nie freigegeben hätte. Aha Atmel gibt nur Produkte mit Mängeln frei. Wenn man liest wieviele Mängel das Board so hat hat es wohl doch ganz gute Chancen. SCNR
Hannes Lux schrieb: > Es ist aber nicht kompatibel (in Hard- und Software) Naja, es scheint einigermaßen protokollkompatibel zu sein. Aber selbst jenseits eines AVRISPmkII gibt es deutlich bessere Möglichkeiten.
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.