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.
Tja auf einer nicht Fließkomma CPU Fließkomma rechnen ist immer sehr Speicherlastig. Benutz halt kein Fließkomma.
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.
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.
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.