Hallo!
Ich erhalte folgenden Fehler:
Fatal Error[e106]: Syntax error or bad argument in
-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,HEAP+_HEAP_SIZE=0200-02FF
Mein Setup:
- TI MSP430F2121
- IAR Embedded Workbench IDE
Kann mir jemand sagen, wo der Fehler in dieser Zeile liegt? Ich vermute,
dass ein anderer Fehler Auswirkungen auf diese Zeile haben könnte.
Deshalb post ich unten noch einen grösseren Ausschnitt aus dem Linker
File.
Martin
Wieso schreibst du in den Linker-Files rum? Normalerweise fasst man die
nicht an, wenn man nicht gerade irgendwas ganz spezielles vorhat
(Bootloader-Section oder sowas)...
@Martin
Ein Vergleich mit den Linker-Files von IAR V4.20.1:
-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=...
@Christian
Wieso soll man die nicht anfassen?
Das ist die normale Vorgehensweise um eigene Speicherbereiche zu
definieren und dem Linker bekannt zu machen!
Selbstverständlich macht man eine Kopie des originalen Linker-Files und
legt es im Projektordner ab und bindet es über Projekte->Files ein,
fertig!
Vielen Dank für die Antworten.
@ Christian: Ich modifiziere einen "fremden" Code, der nicht von mir
implementiert wurde. Es stimmt, dass ich mich mit der Speicherzuteilung
nicht auskenne, aber falls ich das Problem nicht beheben kann, komme ich
nicht weiter. Deswegen bin ich auch froh über Links zu erklärenden
Seiten.
@ Antwort von Stefan:
Falls ich bei HEAP die DATA16 anhänke, verändert sich die Fehlermeldung.
Ich weiss nicht, ob dies zur Problemlösung beiträgt, aber ich post mal
die Änderung und die neue Fehlermeldung:
Dein RAM Bedarf an Variablen, etc. beträgt 210 Bytes (0x200-2D1)
Damit bleiben dem Stack (der von oben befüllt wird) nur noch 46 Bytes
übrig.
Du hast aber in Project->Options->General Options->Stack/Heap
wahrscheinlich mind. 48 Bytes reserviert, was insgesamt eben nicht mehr
in den verfügbaren RAM (256Byte) passt!
Du musst also erstens die Optionen für den Stack ändern und selbst
sicherstellen, dass der Speicherbereich für den Stack auch ausreicht!!!
Ansonsten bleibt Dir nur die Möglichkeit anderweitig RAM einzusparen um
mehr Platz für den Stack zu bekommen oder auf einen anderen MSP430 mit
mehr RAM auszuweichen!
>Bedeutet dies, dass ich meinen Code kürzen muss?
Ja, sieht so aus!
Oder halt doch auf 'nen MSP mit mehr Flash/RAM umsteigen!
Vielleicht hast Du Glück und es gibt einen pinkompatiblen Ersatz in der
Reihe, den Du gerade verwendest?!