Hallo! ich bin schon letzte Woche auf das keyword '_at_' gestoßen, das es ermöglicht Variablen an einer bestimmten Speicheradresse abzulegen. Bei bestimmten compilern sieht das nämlich so aus: const unsigned char test at 0x1000; soweit ich verstanden hab wird dann die Variable 'test' an der absoluten Speicherstelle 0x1000 abgelegt. Dazu meine Frage: Ich benütze den GNU C Compiler, der scheint das keyword '_at_' nicht zu kennen. wie kann man das Problem bei diesem compiler lösen? gibts da ein anderes keyword? Hat jemand schon mal sowas gemacht? DANKE im voraus!
Das geht beim gcc nicht mit diesem (im übrigen nicht standardisierten) Mechanismus; stattdessen sind Linkerskripte zu verwenden. Näheres darüber wird wohl hier Beitrag "Re: Ein paar Fragen zum ARM LPC2106" diskutiert.
hab mich da mal durchgeschmökert, klingt alles ziemlich kompliziert für jemanden der noch nicht allzuviel Programmiererfahrung hat. Kann mir da jemand bitte weiterhelfen? wie muss ich das Linkerskript editieren dass eine Variable im Flash abgelegt wird?
Man kann keine Variablen im Flash anlegen: der ist naturgemäß read-only und eine "Variable" per definitionem etwas, was man ändern kann, sonst wäre es eine Konstante. Aber wenn es dir darum geht, bestimmte Daten im Flash hinterlegen zu lassen, dann schau dir mal PROGMEM an. Sollte im Tutorial ausreichend erläutert sein.
sorry, war ein wenig knapp erläutert. wie du aber richtig erkannt hast, möchte ich daten im Flash hinterlegen, die auch nach ausschalten meines Eval-Boardes gespeichert bleiben. soviel ich aber gelesen hab ist PROGMEM für AVR Mikrocontroller, ich nutze einen ARM7 (LPC2119) von Philips!
> ich nutze einen ARM7 (LPC2119) von Philips!
Hmm, das hättest du vielleicht gleich schreiben sollen.
Sorry, da habe ich keine Ahnung, wie dort der Flash geschrieben
wird.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.