Hallo, Ich verwende als Programmer von Embedded Projects den AVRMK2 - USB Programmer und als OS Ubuntu 11. Soweit so gut. Leider scheint AVRDUDE ein Problem mit manchen HEX Files zu haben, sodaß der Write oder auch der Verify Vorgang fehlschlägt. Ich möchte eine andere Programmier-Software verwenden. Ich habe jedoch nur UISP gefunden. Ist UISP in meinem Anwendungsfall brauchbar? Ich habe zumindest keine Möglichkeit entdeckt meinen USB Programmer ansprechen zu können. Oder gibt es eine Alternative die auch immer funktioniert? LG Günter
Günter W. schrieb: > Leider scheint AVRDUDE ein Problem mit manchen HEX Files zu haben, sodaß > der Write oder auch der Verify Vorgang fehlschlägt. Das halte ich für ein Gerücht... Bei mir passiert das immer nur, wenn die Programmiergeschwindigkeit zu hoch ist. So ist der default zu hoch für Controller die mit internen 1MHz Takt laufen. Damuß man dann bei avrdude '-B 10' setzen...
Bernhard M. schrieb: > Das halte ich für ein Gerücht... Das dumme an Gerüchten ist, die sind meistens wahr. Siehe: http://forum.embedded-projects.net/viewtopic.php?id=204 > Bei mir passiert das immer nur, wenn die Programmiergeschwindigkeit zu > hoch ist. So ist der default zu hoch für Controller die mit internen > 1MHz Takt laufen. Damuß man dann bei avrdude '-B 10' setzen... -B 10 habe ich probiert. Mit -B 30 erhalte ich:
1 | avrdude -p atmega32 -P usb -c avrisp2 -B 30 -U flash:w:vfomain.hex -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m |
2 | |
3 | |
4 | : |
5 | avrdude: 8246 bytes of flash written |
6 | avrdude: verifying flash memory against vfomain.hex: |
7 | avrdude: load data flash data from input file vfomain.hex: |
8 | avrdude: input file vfomain.hex auto detected as Intel Hex |
9 | avrdude: input file vfomain.hex contains 8246 bytes |
10 | avrdude: reading on-chip flash data: |
11 | |
12 | Reading | | 0% 0.00s*** stack smashing detected ***: avrdude terminated |
13 | ======= Backtrace: ========= |
14 | /lib/i386-linux-gnu/libc.so.6(__fortify_fail+0x50)[0x401b9df0] |
15 | /lib/i386-linux-gnu/libc.so.6(+0xe5d9a)[0x401b9d9a] |
16 | avrdude[0x806efbb] |
17 | [0x0] |
18 | ======= Memory map: ======== |
19 | 08048000-08089000 r-xp 00000000 08:11 11810542 /usr/bin/avrdude |
20 | 08089000-0808a000 r--p 00040000 08:11 11810542 /usr/bin/avrdude |
21 | 0808a000-0808b000 rw-p 00041000 08:11 11810542 /usr/bin/avrdude |
22 | 0808b000-0808f000 rw-p 00000000 00:00 0 |
23 | 096c9000-098ba000 rw-p 00000000 00:00 0 [heap] |
24 | 40000000-4001c000 r-xp 00000000 08:11 6029648 /lib/i386-linux-gnu/ld-2.13.so |
25 | 4001c000-4001d000 r--p 0001b000 08:11 6029648 /lib/i386-linux-gnu/ld-2.13.so |
26 | 4001d000-4001e000 rw-p 0001c000 08:11 6029648 /lib/i386-linux-gnu/ld-2.13.so |
27 | 4001e000-4001f000 r-xp 00000000 00:00 0 [vdso] |
28 | 4001f000-40021000 rw-p 00000000 00:00 0 |
29 | 40039000-4003f000 r-xp 00000000 08:11 6029460 /lib/libusb-0.1.so.4.4.4 |
30 | 4003f000-40040000 r--p 00005000 08:11 6029460 /lib/libusb-0.1.so.4.4.4 |
31 | 40040000-40041000 rw-p 00006000 08:11 6029460 /lib/libusb-0.1.so.4.4.4 |
32 | 40041000-40042000 rw-p 00000000 00:00 0 |
33 | 40042000-40066000 r-xp 00000000 08:11 6029647 /lib/i386-linux-gnu/libm-2.13.so |
34 | 40066000-40067000 r--p 00023000 08:11 6029647 /lib/i386-linux-gnu/libm-2.13.so |
35 | 40067000-40068000 rw-p 00024000 08:11 6029647 /lib/i386-linux-gnu/libm-2.13.so |
36 | 40068000-40069000 rw-p 00000000 00:00 0 |
37 | 40069000-40097000 r-xp 00000000 08:11 6029409 /lib/libreadline.so.6.2 |
38 | 40097000-40098000 r--p 0002e000 08:11 6029409 /lib/libreadline.so.6.2 |
39 | 40098000-4009b000 rw-p 0002f000 08:11 6029409 /lib/libreadline.so.6.2 |
40 | 4009b000-4009c000 rw-p 00000000 00:00 0 |
41 | 4009c000-400d0000 r-xp 00000000 08:11 6029922 /lib/libncurses.so.5.7 |
42 | 400d0000-400d1000 ---p 00034000 08:11 6029922 /lib/libncurses.so.5.7 |
43 | 400d1000-400d3000 r--p 00034000 08:11 6029922 /lib/libncurses.so.5.7 |
44 | 400d3000-400d4000 rw-p 00036000 08:11 6029922 /lib/libncurses.so.5.7 |
45 | 400d4000-4022e000 r-xp 00000000 08:11 6029440 /lib/i386-linux-gnu/libc-2.13.so |
46 | 4022e000-4022f000 ---p 0015a000 08:11 6029440 /lib/i386-linux-gnu/libc-2.13.so |
47 | 4022f000-40231000 r--p 0015a000 08:11 6029440 /lib/i386-linux-gnu/libc-2.13.so |
48 | 40231000-40232000 rw-p 0015c000 08:11 6029440 /lib/i386-linux-gnu/libc-2.13.so |
49 | 40232000-40235000 rw-p 00000000 00:00 0 |
50 | 40235000-40237000 r-xp 00000000 08:11 6029645 /lib/i386-linux-gnu/libdl-2.13.so |
51 | 40237000-40238000 r--p 00001000 08:11 6029645 /lib/i386-linux-gnu/libdl-2.13.so |
52 | 40238000-40239000 rw-p 00002000 08:11 6029645 /lib/i386-linux-gnu/libdl-2.13.so |
53 | 40239000-4023b000 rw-p 00000000 00:00 0 |
54 | 4023b000-40255000 r-xp 00000000 08:11 6029380 /lib/i386-linux-gnu/libgcc_s.so.1 |
55 | 40255000-40256000 r--p 00019000 08:11 6029380 /lib/i386-linux-gnu/libgcc_s.so.1 |
56 | 40256000-40257000 rw-p 0001a000 08:11 6029380 /lib/i386-linux-gnu/libgcc_s.so.1 |
57 | bfe59000-bfe7a000 rw-p 00000000 00:00 0 [stack] |
58 | make: *** [program] Abgebrochen |
LG Günter
Günter W. schrieb: > Das dumme an Gerüchten ist, die sind meistens wahr. Siehe: > http://forum.embedded-projects.net/viewtopic.php?id=204 Ja, leider hat AVRDUDE noch keine Logik, um kaputte Programmer, die am USB offenbar nicht mehr reagieren, zu reparieren. :-/ Ein originales AVRISPmkII benutze ich schon hin und wieder, sodass dieses zu den noch vergleichsweise gut getesteten Programmern gehört (zusammen mit dem JTAGICEmkII, das ich am häufigsten nehme). > Reading | | 0% > 0.00s*** stack smashing detected ***: avrdude terminated > ======= Backtrace: ========= > /lib/i386-linux-gnu/libc.so.6(__fortify_fail+0x50)[0x401b9df0] > /lib/i386-linux-gnu/libc.so.6(+0xe5d9a)[0x401b9d9a] > avrdude[0x806efbb] > [0x0] > ======= Memory map: ======== > 08048000-08089000 r-xp 00000000 08:11 11810542 /usr/bin/avrdude > 08089000-0808a000 r--p 00040000 08:11 11810542 /usr/bin/avrdude > 0808a000-0808b000 rw-p 00041000 08:11 11810542 /usr/bin/avrdude Was auch immer mir dieser Trace sagen will - tut mir leid, ich kann mit den Zahlen da nichts anfangen. Wenn es sich um einen AVRDUDE-Bug handelt, dann hätte ich dafür gern einen Bugreport auf savannah, wobei die Daten irgendwie so aufbereitet sein sollten, dass ich sie auch verstehen kann (und das bitte, ohne dass ich das entsprechende Betriebssystem auch selbst besitzen muss). Dann kann ich das auch versuchen zu bearbeiten. (Es gibt ein oder zwei Bugs in dieser Richtung, die mir bekannt sind, aber die können eigentlich prinzipbedingt nur zuschlagen, wenn man mit -c jtag2isp oder -c dragon_isp arbeitet.)
Günter W. schrieb: > Ist UISP in meinem Anwendungsfall brauchbar? Nein, überhaupt nicht. Es ist 1.) seit vielen Jahren völlig ungepflegt und 2.) hat von den originalen Atmel-Tools auch in seinen besten Zeiten nur den STK500 (und den auch nur in der Protokollversion 1) unterstützt
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.