doppelt gelinkte liste ins flash? nicht moeglich mit avrgcc?

OP #283857
Lesenswert?
• ▲
▼
Hi Forum,

wollte nur kurz fragen ob es eine Moeglichkeit gibt, eine doppelt
verkette Liste mittels progmem ins Flash zu befoerdern? Bzw. dass
malloc() fuer so eine Sache noetig ist? Hab das Forum/Netz schon
abgegrast und nichts gefunden.

Wenn man eine Liste anlegt, muss man ja die Adressen der vorherigen und
nachfolgenden angeben, dh. duerfte nicht compilierbar sein.

Im Butterfly-Beispiel von Martin Thomas wird das im Flash abgelegte
Menue auch nicht mit Pointern gemacht, sondern mit Stati.

Gibt es vielleicht doch eine Moeglichkeit, die ich uebersehen habe?

Danke fuer Eure Antworten.

Gruss Stef
Moderator Persönliche Seite #283858
Lesenswert?
• ▲
▼
> wollte nur kurz fragen ob es eine Moeglichkeit gibt, eine doppelt
> verkette Liste mittels progmem ins Flash zu befoerdern?

Sicher möglich, aber wird nicht ganz trivial sein (mit forward-
Deklarationen).

Was aber soll das denn für 'nen Sinn haben?  Doppelt verkettete
Listen
baut man für dynamische Datenstrukturen, was im Flash ist, kann
schlechterdings wirklich dynamisch sein.  Da kann man auch gleich ein
Array nehmen und den Platz für die Verkettungszeiger einsparen.
Gast #283859
Lesenswert?
• ▲
▼
Der große Vorteil der verktetteten Listen ist, daß man sehr schnell
Elemente an beliebigen Stellen einfügen oder löschen kann. Das tut man
aber eher nicht, wenn die Daten im Flash liegen, daher ist mir auch
nicht ganz klar, wozu man da eine verkettete Liste wollen könnte. Warum
nicht einfach ein Array?
OP #283860
Lesenswert?
• ▲
▼
Hallo Jörg und Rolf,

>[...]  Doppelt verketteteListen
>baut man für dynamische Datenstrukturen, was im Flash ist, kann
>schlechterdings wirklich dynamisch sein.  Da kann man auch gleich ein
>Array nehmen [...]
Danke, wieder was dazugelernt =)

ich beschaeftige mich im Moment mit Listen und wollte deshalb ein
derart aufgebautes Menue in meinen AVR pflanzen. Das schien mir eine
einfach Loesung fuer das Problem. Zugegeben, wohl doch nicht so doll
...werde es dann mit nem Array probieren.

Danke Jörg und Rolf fuer Eure antworten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 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.