Wie bekomme ich ein paar Bytes an eine feste Adresse?

OP #2284867
Lesenswert?

Hintergrund: das ganze ist ein updatefähiges Gerät (mit AVRootloader).
Beim Brennen des Bootladers möchte ich gern auch gleich die aktuelle 
Anwendungssoftware mit draufbraten, klappt auch, allerdings gibts dann 
ein Problem mit der Versionsnummer.
In meiner Version (Mega8, Bootlader ab 0x1c00) steht die Versionsnummer 
auf 0x0dfe und 0x0dff, also 4 Byte. Solange man die Sache mit dem 
Bootlader macht, ist das auch ganz easy.
Also ich brauch sowas:
#asm
.cseg
.org 0x0dfe
.db 1,2,3,4
#endasm
allerdings in einem C-Programm

Ja, man könnte das Hex-File zu Fuss bearbeiten (so ist es im moment auch 
:-)
Schöner und weniger fehleranfällig wäre es, das direkt im C-Programm zu 
machen.

Irgendwelche Ideen?
OP #2284949
Lesenswert?

Genau, der flash ist das Problem, eine einfache Lösung scheint es dafür 
nicht zu geben.
Eh ich mich durch unbekanntes Terrain wühle (und mir womöglich 
irgendwelche Fallstricke einbaue), werde ich die Versionsverwaltung doch 
dem Bootlader überlassen bzw. nur dort einstellen.
Nach erfolgtem update an meinem Testgerät Chip auslesen und das Hex-file 
zum Bestücker schicken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren