Forum: Mikrocontroller und Digitale Elektronik Ein byte an einer Adresse definieren


von R. F. (rfr)


Lesenswert?

Hi all,

einer meiner µCs hat an einer bestimmten Stelle im Flash einen 
Zellendefekt. Ich würde diese Stelle gerne mit einer (ungenutzten) 
Konstante versehen. Wie mache ich das, ohne dass die wegoptimiert wird?

Oder ist es besser, das mit equ in Assembler zu machen, aber wie binde 
ich das dann ein?

Gruss

Robert

von Jonas B. (jibi)


Lesenswert?

>diese Stelle

liegt wo im Flash der wie groß ist?

Gruß Jonas

von R. F. (rfr)


Lesenswert?

Der Flash hat 256 kB.

von holger (Gast)


Lesenswert?

>einer meiner µCs hat an einer bestimmten Stelle im Flash einen
>Zellendefekt.

Wie kommst du darauf?

>Ich würde diese Stelle gerne mit einer (ungenutzten)
>Konstante versehen. Wie mache ich das, ohne dass die wegoptimiert wird?

Ich würde den wegwerfen. Wenn eine Zelle defekt ist
gibt es einen Grund dafür. Und der könnte auch weitere
Zellen angefressen haben die im Moment noch nicht
auffällig geworden sind aber sicher noch werden.

von Jonas B. (jibi)


Lesenswert?

>Der Flash hat 256 kB.

und welche Adresse ist kaputt?

von R. F. (rfr)


Lesenswert?

weiss ich nicht. Beim programmieren meldet avrdude, dass beim Vergleich 
der Daten ein byte an einer Adresse nicht mit der Vorgabe übereinstimmt. 
Ich kann das aber  gelegentlich herausfinden, ich habe das gerade nicht 
zur Hand.

von Simon K. (simon) Benutzerseite


Lesenswert?

Dann liegt dein Problem vermutlich eher da, dass die SPI Geschwindigkeit 
zu hoch ist und es zu Problemen bei der Übertragung kommt.

von Jonas B. (jibi)


Lesenswert?

>weiss ich nicht. Beim programmieren meldet avrdude, dass beim Vergleich
>der Daten ein byte an einer Adresse nicht mit der Vorgabe übereinstimmt.
>Ich kann das aber  gelegentlich herausfinden, ich habe das gerade nicht
>zur Hand.

Muss aber noch nicht heißen das der Flash kaputt ist.

von Jonas B. (jibi)


Lesenswert?

>Dann liegt dein Problem vermutlich eher da, dass die SPI Geschwindigkeit
>zu hoch ist und es zu Problemen bei der Übertragung kommt.

Würd ich auch mal tippen.

: Bearbeitet durch User
von holger (Gast)


Lesenswert?

>>Dann liegt dein Problem vermutlich eher da, dass die SPI Geschwindigkeit
>>zu hoch ist und es zu Problemen bei der Übertragung kommt.
>
>Würd ich auch mal tippen.

Oder er benutzt einen China Kracher der seinen uC nicht
unterstützt.

Aber wenn der TO nicht dazu in der Lage ist
hier mal vollständige Informationen zu liefern sollte
man besser gar nichts mehr RATEN.

von Jonas B. (jibi)


Lesenswert?

>...RATEN

Dann wars auf jeden Fall die Katze! :D

von R. F. (rfr)


Lesenswert?

also,

die Schaltung ist ein Arduino mit einem Mega 2560.
Die Programmierung erfolgte 5 mal hintereinander, zwischendurch habe ich 
den Speicher gesamt gelöscht.
Die Adresse im Flash waren immer die gleiche.
Ein Test mit einem 328-er Arduino und der gleichen SW >ergab keine 
Probleme.

Ich schliesse daraus, dass der Flash im 2560 an der genannten Stelle 
defekt ist.

Ist das soweit ok, und was fehlt noch an Informationen?

Ach so, es herrschte zum Zeitpunkt der Programmierung kein Vollmond.

Gruss

Robert

von Peter D. (peda)


Lesenswert?

R. Freitag schrieb:
> Ich schliesse daraus, dass der Flash im 2560 an der genannten Stelle
> defekt ist.

Sehr unwarscheinlich.

Welche Adresse?
Welcher Programmer?

Mach mal aus dem Hex ein Bin und dann wieder ein Hex.
Manche Programmer kommem nicht mit unsortierten Hex klar.

von Mitra (Gast)


Lesenswert?

R. Freitag schrieb:
> weiss ich nicht. Beim programmieren meldet avrdude, dass beim
> Vergleich
> der Daten ein byte an einer Adresse nicht mit der Vorgabe übereinstimmt.
> Ich kann das aber  gelegentlich herausfinden, ich habe das gerade nicht
> zur Hand.

256 kb?
"byte mismatch at 0x..."?

LIEGT AN AVRDUDE!

mal die letzte Version versuchen, aber obacht, damit funktionieren 
wiederum andere Dinge nicht!

von c-hater (Gast)


Lesenswert?

R. Freitag schrieb:

> Ich schliesse daraus, dass der Flash im 2560 an der genannten Stelle
> defekt ist.

Du hast sie bisher eben nicht genannt.

> Ist das soweit ok, und was fehlt noch an Informationen?

Die betroffene Adresse natürlich!

von R. F. (rfr)


Lesenswert?

Ich kann momentan nicht weiter machen, dirgendwas am Programmiergerät 
ist kaputt.

Ich melde mich wieder.

Wie kann ich denn die Kommunikation mit dem Prommer teasten, also ohne 
angeschlossene MCU?

Gruss

Robert

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.