Speicher des mega64 selber aufteilen, aber wie?

Gast #345161
Lesenswert?
• ▲
▼
Hallo Leute,

kann ich den Speicher des mega64 in C selber aufteilen?
In meinem Programm löse ich einen Software-Reset ala

    goto *((void**) 0);

aus. Ich möchte aber alte Werte mit in die nächste Ausführung nehmen.
Der Gedanke ist der, dass ich mir,z.B. ab 0x050 bis 0x060 einen
Speicherbereich anlege in den ich meine zu rettenden Daten schreibe und
mit dem Softreset dann nach 0x061 springe und somit meine Daten
mitgenommen werden.
Also
   goto *((void**) 0x061);

P.S. Die Adressangaben sind nur Beispiele



Geht sowas.....
Gast #345163
Lesenswert?
• ▲
▼
Was willst du machen?
So wie ich dich verstehe, willst du mehrere (völlig) unabhängige
Programme in einem Mega64 bei Bedarf laufen lassen.
Vielleicht solltest du dein Projekt etwas weiter umreissen.
Mag sein, dass das gehen könnte (bevor ich mich mal wieder zu weit aus
dem Fenster lehne...).
Der Sinn dabei bleibt mir aber verschlossen...
Welchen Speicher willst du überhaupt teilen? Den Flash?
Mit Klimmzügen kann sowas gehen (Bootloader-mässig)...
#345164
Lesenswert?
• ▲
▼
Ich denke du solltest dich erst mal von der
Vorstellung lösen, dass ein

goto *((void**) 0);

deine Probleme löst, verabschieden.
In einem anderen Thread hast du geschrieben, dass du
dies machst um eine dynamisch aufgebaute Datenstruktur
auf einfache Weise los zu werden. Ich finde einen
Soft-Reset dafür keine gute Lösung. Die softwaretechnisch
bessere Lösung ist immer noch die Datenstruktur korrekt
wieder abzubauen.
Gast #345165
Lesenswert?
• ▲
▼
Das mit dem Segment hat prima hingehauen. Vars die ich in diesem Seg
anlege, werden durch den Softreset nicht neu initialisiert.

Wenn ich die mit malloc angelegten doppelt verketteten Listen wieder
mit free freigebe haut das nicht hin. Der Softreset räumt da richtig
auf.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.