Flash beim Linken beschreiben

Gast #2784983
Lesenswert?

Hallo,

ich bin grad dabei bei einem 8051 Core rauszufinden ob und wie man es 
schafft über das LinkerFile einer bestimmten Adresse im Flash mit einem 
bestimmten Wert zu beschreiben. So das beim Flashen des hex-Files schon 
ein Default Wert an der Adresse steht.

Freu mich über jeden Ansatz wie man das hinkriegen könnte ;)
Gast #2785111
Lesenswert?

IAR Workbench.

Bezwecken will ich damit das einfach für eine bestimmte Sache einen 
Defaultwert im Flash stehen habe. Sowas wie eine Werkseinstellung halt. 
Ich könnte zwar auch am Anfang zuerst den Inhalt des Flashs an dieser 
Stelle auslesen und auf FFFF... überprüfen da dies ja der eigenltiche 
Initialzustand ist. Finde die Lösung aber nich so toll und wollte eben 
deshalb wissen ob es auch anderst möglich ist.

Es geht einfach darum :  Es gibt eine Zeitkonstante, diese soll einen 
bestimmten Wert haben. Dieser Wert soll immer im nichflüchtigen Speicher 
änderbar abgelegt werden. Jedoch soll das Teil im Auslieferungszustand 
schon einen gewissen Wert für diese Zeitkonstante haben. Und somit muss 
dieser ja quasi schon ins hex-File eingewurstelt sein oder nicht ?
Gast #2785170
Lesenswert?

Wie soll ich das im Quellcode Initialisieren? Dann wird es bei jedem 
Reset vom Controller wieder neu Initialisiert, jedoch soll die 
Initialisierung nur beim ERSTEN Start des Controllers ausgeführt werden 
und alles andere ist dann Benutzerabhängig.
#2785276
Lesenswert?

Peter schrieb:
> Wie soll ich das im Quellcode Initialisieren? Dann wird es bei jedem
> Reset vom Controller wieder neu Initialisiert, jedoch soll die
> Initialisierung nur beim ERSTEN Start des Controllers ausgeführt werden
> und alles andere ist dann Benutzerabhängig.

Schon klar, wenn man nach dem Resetvektor timeConst=0x27 schreibt, dann 
wird das nichts.

Wie man es konkret macht, kommt drauf an, welche Programmiersprache du 
verwendest und wie die plattformspezifischen Besonderheiten darin 
umgesetzt werden. Fehlt halt noch Info. Aber im Linker was zu reißen, 
ist erst der letzte Ausweg.

Normalerweise sollte man im Qeullcode eine bestimmte Speicheradresse 
gezielt mit einem Wert beschreiben können. Diesen Wert kann man dann 
natürlich auch zur Laufzeit lesen und ändern.

Beim PIC sieht das z.B. in Assembler so aus:
1
  org  0x2100
2
  de  0x27  ; Initial settings

HTH

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