Gast
#563064
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
So beim AVR:
1 | |
2 | |
3 | |
4 | |
5 | |
wie beim ARMGCC? Besten Dank
|
Anzeige
|
ARM GCC wie Strukturen ins Flash?
Gast
#563064
So beim AVR:
wie beim ARMGCC? Besten Dank
Gast
#563100
Einfach mit 'const' davor. Da der ARM ein Von-Neumann-Rechner ist, lässt GCC den Variablenwert einfach im Flash, wenn dieser nicht verändert wird bzw werden darf. Da liegt alles in einem einzigen Adressraum. MfG Mark
Gast
#563117
Okay, aber wie mache ich das hier siehe Anhang. Wenn ich const nehme kann ich ja nicht mehr darauf zugreifen. Read only!
Gast
#563171
Wenn Du es beim AVR im PROGMEM speicherst, dann kannst Du doch auch nicht drauf schreibend zugreifen! Da musst Du es als eine ganz normale Variable deklarieren, also ohne const. MfG Mark mgiaco wrote: > Okay, aber wie mache ich das hier siehe Anhang. Wenn ich const nehme > kann ich ja nicht mehr darauf zugreifen. Read only! Ja, was hätte es sonst für einen Sinn? Flash als RAM benutzen oder was?
Gast
#563210
Jo stimmt eigentlich. Aber wie mache ich es wenn ich sowas machen will? Siehe Anhang oben. item1.next = &item2; Ich wollte eigentlich nur die Strukturen inst Flash legen und dann darauf Zugreifen Read und Write sonst kann ich ja nicht viel machen. Na ja ich glaube der Fehler liegt woanders, K&R habe ich natürlich vor mir liegen aber... na ja mal weiter suchen lesen. mgiaco wrote: > Jo stimmt eigentlich. > Aber wie mache ich es wenn ich sowas machen will? Siehe Anhang oben. > item1.next = &item2; > Ich wollte eigentlich nur die Strukturen inst Flash legen und dann > darauf Zugreifen Read und Write sonst kann ich ja nicht viel machen. > > Na ja ich glaube der Fehler liegt woanders, K&R habe ich natürlich vor > mir liegen aber... na ja mal weiter suchen lesen. Hm? Keine Ahnung was du damit sagen willst. Stell mal mehr Quelltext 'rein.
Gast
#563244
> Ich wollte eigentlich nur die Strukturen inst Flash legen und dann > darauf Zugreifen Read und Write sonst kann ich ja nicht viel machen. Das wird mit dem Flash möglicherweise gar nicht gehen. In der Regel braucht man einen speziellen Lösch-/Programmierzyklus, der sich dann auch nicht auf eine einzige Speicherstelle, sondern auf eine ganze Speicherseite auswirkt. Deshalb gibt's schließlich RAM.
Gast
#563303
Willst du nur einen (konstanten)Pointer auf ein anderes Struct? - dann brauchst du einen Prototyp der anderen struct, und mußt die Adresse natürlich bei der Initialisierung bereits angeben.
Gast
#563308
Lass mich raten: Du möchtest die Menüstrukturen gar nicht zur Laufzeit beschreiben, sondern sie einmal zu Beginn initialisieren, so dass jede ihren festen Text und ihre festen Flags hat und die Strukturen untereinander als Baum verzeigert sind. Richtig? Wenn ja, dann solltest du die Initialisierung nicht in einer Funktion, sondern direkt bei der Variablen- bzw. Konstantendefinition vornehmen, z. B. so: low.h:
low.c:
Die Werte für menueIcon, value und flags musst du natürlich auch noch eintragen. Auf diesem Weg sollten die Strukturen flshbar sein.
Gast
#563617
Super danke ja genau das habe ich gemeint, danke yalu mfg mathias Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|