SmartFusion Ram Overflow beim Kompilieren

Gast #2586385
Lesenswert?

Hallo allerseits,

ich arbeite seit geraumer Zeit(Anfänger) mit dem SmartFusion Eval Kit 
von Actel. Als Software nutze ich Libero 9.1 (SP5) weil muss so :)

Zur Zeit möchte ich über das Terminal (Win XP) mittels UART einfach nur 
durch Ein- und Ausgaben gewisse Daten berechnen und wieder zurückgeben.
Bei diesen Berechnungen benutze ich einige Strings, ein paar einfache 
mathematische Berechnungen und nur 2!!! Sinusfunktionen.
Das Programm(C) ist eigtl. sehr klein, jedoch bekomme ich nach dem 
Kompilieren immer die Nachricht "region `ram  overflowed by 1520 bytes" 
UND   "file* section `.stack' will not fit in `ram' "
Wobei die 1520 bytes sehr variieren können(200-5000 bytes).

Die schlaue Antwort von der Helpline war ein paar floatvariablen zu 
ändern/entfernen. Das hat etwa 10 Codezeilen geholfen bis der Fehler 
wieder auftrat.

Kennt sich jemand mit dem SF aus und weiss evtl. wo und wie man die 
Speichereinstellungen für den RAM und Stack ändern kann? Oder weiss wer 
was da sonst falsch laufen könnte? Der SF hat 64k Ram 8k Stack 
(Voreinstellung in den Dateien: 
..Softconsole/CMSIS/startup_gcc/debug-in-... .ld), also ist es 
unwahrscheinlich das der mit rund 100 Zeilen Code voll ist. Sind das die 
Dateien zum ändern und wenn ja viel höher gehts doch eh nicht oder?

In Hoffnung auf Hilfe, Grüße von einem Verzweifelten.
Gast #2586404
Lesenswert?

Naja, wenn ein Kollege ein Vielfaches von Floats nutzt und dort dieses 
Problem mit dem Selben Board nicht auftritt, kann es wohl nicht an der 
Anwendung von ein paar floats oder doubles liegen.
Und wie ich schon geschrieben hab, kam die selbe Antwort schon vom 
Support, was mir nicht geholfen hat.
Gast #2592240
Lesenswert?

Keiner ne Ahnung wo man das beim SmartFusion einstellen kann?
Ich hab nun die Sinusfunktionen ausgebaut und durch "lookup"-tabellen 
ersetzt. Das ging ne weile gut, aber nu bin ich wieder 8 bytes überm ram 
und noch lange net fertig.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren