Forum: Mikrocontroller und Digitale Elektronik hex File in EEPROM programmieren (ATmega328P)


von Johannes G. (gutenberg)


Lesenswert?

Ich benutze einen ATmega328 und möchte ein kleines "Bitmap" vom PC in 
das interne EEPROM schreiben, damit ich es später auf einem LED-Display 
anzeigen kann.

Der µc hat 1 KB EEPROM, das Bitmap 1000 Bytes, eine andere kleine 
Testdatei 11 Bytes. Ich wandle die Binärdatei mit diesem Tool in eine 
hex-Datei um:

http://www.ht-lab.com/freeutils/bin2hex/bin2hex.html

und versuche sie mit AVR Studio 5 via "Memories -> EEPROM -> Program" 
hochzuladen. Dabei kommt beim verifizieren die Fehlermeldung:

"Verifying EEPROM...Failed! address=0x0004 expected=0x6c actual=0xff"

Kann mir jemand helfen?
Muss das hex-File eine bestimmte Startadresse oder sonstige Parameter 
haben?

von Johannes G. (gutenberg)


Lesenswert?

Hier noch die Dateien:

test.txt ist meine Ursprungsdatei:
1
little test

test.hex ist diese Datei nach hex konvertiert:
1
:0D0000006C6974746C6520746573740D0A6E
2
:00000001FF

out.hex erhalte ich nach dem auslesen des EEPROMS nach brennen von
test.hex
1
:100000006C697474FFFFFFFF6C652074FFFFFFFFD6
2
:100010006573740DFFFFFFFF0AFFFFFFFFFFFFFF88
3
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
4
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
5
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
6
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
7
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
8
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
9
:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
10
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
11
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
12
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
13
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
14
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
15
:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
16
:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
17
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
18
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
19
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
20
:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
21
:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
22
:10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
23
:10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
24
:10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
25
:10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
26
:10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
27
:1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
28
:1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
29
:1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
30
:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
31
:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
32
:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
33
:100200006C697474FFFFFFFF6C652074FFFFFFFFD4
34
:100210006573740DFFFFFFFF0AFFFFFFFFFFFFFF86
35
:10022000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
36
:10023000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
37
:10024000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
38
:10025000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
39
:10026000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
40
:10027000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
41
:10028000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
42
:10029000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
43
:1002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
44
:1002B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
45
:1002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
46
:1002D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
47
:1002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
48
:1002F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
49
:10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
50
:10031000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
51
:10032000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
52
:10033000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
53
:10034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
54
:10035000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
55
:10036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
56
:10037000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
57
:10038000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
58
:10039000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
59
:1003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
60
:1003B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
61
:1003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
62
:1003D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
63
:1003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
64
:1003F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
65
:00000001FF


Er schreibt also 4 Bytes Daten, dann 4 Bytes FF anstatt der Daten. 
Weshalb? Und wieso steht die ganze Sequenz in der Mitte des EEPROMS 
nochmal?

von Johannes G. (gutenberg)


Lesenswert?

OK, hat sich erledigt. Ich benutze einen mySmartUSB MK3 Programmer. 
Entwder ist der nicht mit der EEPROM Schreibroutine von AVR Studio 
kompatibel, oder AVR Studio hat einen Bug. Auf jeden Fall klappt es mit 
dem myAVR-eigenen Tool.

Wieder mal schön Zeit verschwendet...

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.