mikrocontroller.net

Forum: Compiler & IDEs doppelt gelinkte liste ins flash? nicht moeglich mit avrgcc?


Autor: Stef Stef (kraeuterfreund)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stef Stef (kraeuterfreund)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.