Forum: Mikrocontroller und Digitale Elektronik elf Datei Viewer


von Holger P. (Gast)


Lesenswert?

Normalerweise ist das ein Thema für meinen Blog aber da dort eventuell 
nicht gelesen wird und ich es aber wissen möchte stelle ich die Frage 
mal allgemein hier im Forum.

Also ich habe mir einen ATTiny2313 wohl zerschossen in dem ich eine 
falsche Backupdatei .elf zurück gespielt habe. nun wollte ich mir die 
Datei mal ansehen was da so drin steht. Gibt es ein Programm welches mir 
zeigt wie die Fuse in der ELF Datei gesetzt sind. Ich möchte wissen was 
ich mit dem armen Kerl nun gemacht habe das er nicht mehr leben möchte.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Steht in deiner Elf-Datei ganz sicher eine FuseEinstellung und wie hast 
du die da rein gebracht, denn üblich ist das nicht. Ansonsten kannst du 
die Elf-datei natürlich disassemblieren. Wenn das mit deinen Tools nicht 
direkt gehen sollte, dann ggf. zuvor in eine Hex-Datei umwandeln. Als 
Hex-Datei frisst sie z.B. der Debugger/Simulator im AVR Studio sicher.

von Holger P. (Gast)


Lesenswert?

Ich wollte nun mit einem Programm die elf Datei laden und schauen wie da 
die Fuse stehen die er übertragen hat.

Wie ich das gemacht habe. Als ich die Datei erstellt habe war es einer 
meiner ersten schritte und daher wede ich wohl etwas falsch gemacht 
haben. Um aus diesen Fehler zu lernen möchte ich mir das ganze gerne 
anschauen. Eventuell bekomme ich den kleinen Kerl doch noch wieder zum 
leben wenn mir bekannt ist was nun in dem 2313 eingestellt ist.

Also zurück zur frage, ein Programm in dem ich die elf einlese und es 
mir die Fuse zeigt gibt es nicht?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Wenn es eine Elf-Datei mit der Production File Format Erweiterung von 
Atmel ist und die AVR-GCC Toolchain bei der Erstellung beteiligt war, 
hilft: http://www.nongnu.org/avr-libc/user-manual/group__avr__fuse.html

[zitat]
You can print out the contents of the .fuse section in the ELF file by 
using this command line:
1
    avr-objdump -s -j .fuse <ELF file>
[/zitat]

von Spess53 (Gast)


Lesenswert?

Hi

Welches ELF-File? Das von AVR-GCC oder das File,das im 
Programmier-Dialog vom AVR-Studio erstellt werden kann? Bei letzterem 
reicht ein Hexeditor. Es sind die Bytes 7,6 und 5 vom Ende aus gezählt.

MfG Spess

von Holger P. (Gast)


Lesenswert?

Das File was im Programmier-Dialog von AVR-Studio steht.


Also die Datei ist 388 (Hex-184) Byte lang ab stelle 350 (Hex-15e) steht

73 s
68 h
73 s
74 t
72 r
74 t
61 a
62 b
00
2E
66 f
75 u
73 s
65 e
00
2E
6C l
6F o
63 c
6B k
00
2E
73 s
69 i
67 g
6E n
61 q
74 t
75 u
72 r
65 e
00
00
00
00
00
0A
91
1E
**** Hier ist datei Ende

von Holger P. (Gast)


Lesenswert?

So was ich bis jetzt raus gefunden habe

Datei OK - datei falsch

Start bei 1A6 <> Start bei 15E
73 = 73 = s = s
68 = 68 = h = h
73 = 73 = s = s
74 = 74 = t = t
72 = 72 = r = r
74 = 74 = t = t
61 = 61 = a = a
62 = 62 = b = b
00 = 00
2E = 2E

74 <> fehlt = t = fehlt
65 <> fehlt = e = fehlt
78 <> fehlt = x = fehlt
74 <> fehlt = t = fehlt
00 <> fehlt
2E <> fehlt

66 = 66 = f = f
75 = 75 = u = u
73 = 73 = s = s
65 = 65 = e = e
00 = 00
2E = 2E

6C = 6C = l = l
6F = 6F = o = o
63 = 63 = c = c
6B = 6B = k = k
00 = 00
2E = 2E

73 = 73 = s = s
69 = 69 = i = i
67 = 67 = g = g
6E = 6E = n = n
61 = 61 = a = a
74 = 74 = t = t
75 = 75 = u = u
72 = 72 = r = r
65 = 65 = e = e

00 = 00
12 <> 00
C0 <> 00
18 <> 00
95 <> 00
18 <> 0A
95 <> 91
18 <> 1E

von Holger P. (Gast)


Lesenswert?

Kann mir echt keiner weiterhelfen?

Kann es sein das ich mir die Signatur zerrissen habe? Und aus diesem 
Grund nicht mehr an den Tiny2313 komme?

Fragen über fragen

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich bin zu den Fuses überfragt, weil ich die Fuses immer noch 
"klassisch", d.h. unabhängig manuell setze.

Zu der Signatur:

ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A
http://www.atmel.com/dyn/resources/prod_documents/doc4299.pdf
Das passt schon mal zu deiner Datei Falsch.

Hier http://darkfader.blogspot.com/2010/01/atmel-production-file.html 
ist etwas Info über die wesentlichen Bytes des Atmel Production files

AVR Fuses => http://www.engbedded.com/fusecalc

Fuses 00 00 00 bedeutet:
Taktquelle: Ext. Clock, d.h. Klassisch verfust.
Wiederbelebung wie im Artikel AVR Fuses angegeben.

Die "Datei OK" halte ich für nicht so OK bzw. für zweifelhaft.
Die Datei OK hätte nach deiner Angabe die Signatur 0x18 0x95 0x18.
Mir ist kein AVR mit einer solchen Signatur bekannt.

von Holger P. (Gast)


Lesenswert?

Da danke ich erst mal.

Ich habe schon versucht den ATTiny2313 mit einem externen Takt wieder zu 
beleben. Aber es hat nix gebracht.

MOSI an PIN 17
MISO an PIN 18
SCK an PIN 19
VCC an PIN 20 ( 3,xx Volt vom USB AVR-LAB )
GND an PIN 10 ( vom USB AVR-LAB)

High Takt an PIN 5 ( verschieden versucht 4xISP Frequenz und auch 1MHz 
und 8MHz )

GND Takt an PIN 10

Jetzt wollte ich halt erst mal schauen was ich überhaupt gemacht habe.

Ich werde nun noch mal versuchen einen anderen ATTiny auszulesen und 
schauen wie diese elf-Datei aussieht.

von Holger P. (Gast)


Lesenswert?

So nun habe ich eine elf-Datei erstellt von einem ATTiny2313 die so in 
dem defekten ATTiny2313 stehen sollte.

Der einzige unterschied ist hinter signature.

eben ausgelesene werte die gehen, entnommen aus der gespeicherten 
elf-Datei

00
FF
DF
FF
FF
0A
91
1E

ausversehen übertragene werte, entnommen aus der elf-Datei

00
00
00
00
00
0A
91
1E

*******

Es haben sich echt nur die 4 Werte geändert. So müsste in dem armen 
ATTiny2313 hinter signature 00,00,00,00,00 stehen und es sollte wohl 
00,FF,DF,FF,FF stehen.

von Holger P. (Gast)


Angehängte Dateien:

Lesenswert?

So wie ich eben sehe steht FF,DF,FF in dem Fenster Fuse das sind die 
Werte die mir wohl fehlen bzw. bei mir auf 00 00 00 stehen.

EXTENDED 0xFF
HIGH     0xDF
LOW      0xFF

für was sind die?

von Laszlo H. (mobius)


Lesenswert?

Das sind die realen Werte, die für die Einstellungen oberhalb übertragen 
werden. Da du dein IC mit 0x00 0x00 0x00 0x00 gefuset hast, sind alle 
bits programmiert. Das bedeutet:

-) Ext-Clock --> brauchst eine externe Taktquelle (zB einen anderen µC)
-) DWEN gesetzt --> SPI kannst du knicken
-) RSTDISBL ist gesetzt --> SPI kannst du knicken

HV programming ist wohl das Einzige, das den µC wiederbeleben könnte. 
Weitere infos kannst du im Artikel AVR Fuses finden.

gruß
Mobius

von Holger P. (Gast)


Lesenswert?

Danke jou habe mir gerade auf Seite 158 des Datenblatt das alles mal 
durchgelesen. Jo der Kerl ist dahin.

Aber ich weiß nun was ich gemacht habe und bin wieder ein wenig schlauer 
geworden. Ein Fehler ist nur ein Fehler wenn man nix gelernt hat daraus 
sagt mein Vater immer.

Jetzt aber die nächste Frage. HV Programming. Wo bekommt man so ein 
Programmer her der USB AVR-LAB kann das nicht. Gibt es da kostengünstige 
... oder kann man den selber basteln???

von Holger P. (Gast)


Lesenswert?

Spess53 schrieb:
> Hi
>
>
>
> Welches ELF-File? Das von AVR-GCC oder das File,das im
>
> Programmier-Dialog vom AVR-Studio erstellt werden kann? Bei letzterem
>
> reicht ein Hexeditor. Es sind die Bytes 7,6 und 5 vom Ende aus gezählt.
>
>
>
> MfG Spess

Recht hast du.

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
Noch kein Account? Hier anmelden.