Flash beim Linken beschreiben

Gast #2784983
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
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
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.
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.