Forum: Mikrocontroller und Digitale Elektronik Speicher voll?


von Chris (Gast)


Lesenswert?

Hallo,

ich habe jetzt schon einige Zeilen an C-Code in mein Controller 
reingeklopft.
Jetzt kommt seit dem ich eine neue, recht große Funktion neu 
hineingeladen habe:

Fatal Error[e89]: Too much object code produced (more than 0x1000 bytes) 
for this package.

Ich benutze ein MSP430F449 mit der Software von IAR.

Was kann ich jetzt tun?
Muss ich mein Code komplett neu schreiben?

MfG
Chris

von Mark B. (markbrandis)


Lesenswert?

Hm, angeblich hat der  60 KB an Flash? Quelle:
http://focus.ti.com/docs/prod/folders/print/msp430f449.html

Da passt die Fehlermeldung irgendwie nicht so recht, denn wenn man nach 
der geht wäre ja schon bei > 4 KB Schluss.

von Albert .. (albert-k)


Lesenswert?

Wenn du noch keine Code Optimierung angeschalten hast könntest du über 
diese Versuchen etwas einzusparen. ob es reicht ist ne andere Frage.
Ansonsten könntest du versuchen Sachen die du nicht so oft brauchst in 
einem Externen Speicher abzulegen.

von Mark B. (markbrandis)


Lesenswert?

Ah, es kann natürlich auch sein, dass es eine willkürliche Begrenzung in 
der Software ist: Eine kommerzielle Version vom IAR könnte mehr als 4K 
an Objektcode erzeugen, aber eine freie Version (die Du womöglich 
verwendest) hat eben diese Einschränkung. Lösung also: Entweder Code 
schrumpfen oder anderen Compiler/Lizenz besorgen.

Trotzdem ist die Fehlermeldung doof, da gehört selbstverständlich 
erwähnt dass das Limit des freien Compilers überschritten wird und man 
bitte jetzt die Brieftasche zücken möge :-)

von Stefan B. (Gast)


Lesenswert?

Hast du nur die Kickstart Version des IAR? Die ist bei diesem Target auf 
4K Code begrenzt. http://supp.iar.com/Download/SW/?item=EW430-KS4

=> Also Softwarewerkzeuge für das MSP430 Target anpassen.

von Chris (Gast)


Lesenswert?

Danke für die Infos,

jetzt bin ich ziemlich ratlos, weil kleiner als ichs bis jetzt in C 
geschrieben hab krieg ich das als Laie kaum hin.

Wie meint ihr das mit "Externen Speicher" auslagern?
Wie funktioniert das?

Der MCU hat doch nur den RAM und den FLASH.

grüße
Chris

von Karl H. (kbuchegg)


Lesenswert?

Chris schrieb:
> Danke für die Infos,
>
> jetzt bin ich ziemlich ratlos, weil kleiner als ichs bis jetzt in C
> geschrieben hab krieg ich das als Laie kaum hin.

Wenn du den Code zeigst, könnte man mal versuchen, ob da noch was geht.

Allerdings wäre die beste Option tatsächlich die, den Compiler zu 
kaufen. Der wird nicht die Welt kosten, und du bist derartige künstliche 
Beschränkungen los.

von Arc N. (arc)


Lesenswert?

Karl heinz Buchegger schrieb:
> Chris schrieb:
>> Danke für die Infos,
>>
>> jetzt bin ich ziemlich ratlos, weil kleiner als ichs bis jetzt in C
>> geschrieben hab krieg ich das als Laie kaum hin.
>
> Wenn du den Code zeigst, könnte man mal versuchen, ob da noch was geht.
>
> Allerdings wäre die beste Option tatsächlich die, den Compiler zu
> kaufen. Der wird nicht die Welt kosten, und du bist derartige künstliche
> Beschränkungen los.

Entweder hab ich was bei IAR verpasst oder, was wahrscheinlicher ist, 
sind die Preise immer noch so wie früher...
Etwa 3000 USD
http://de.mouser.com/Search/Refine.aspx?Ne=254016&N=1323038+254077+4294027436

von Karl H. (kbuchegg)


Lesenswert?

Arc Net schrieb:

> Entweder hab ich was bei IAR verpasst oder, was wahrscheinlicher ist,
> sind die Preise immer noch so wie früher...
> Etwa 3000 USD

Wow.
Das ist allerdings wirklich heftig.
Ich hatte eher mit so um die einen Hunderter gerechnet.

von Purzel H. (hacky)


Lesenswert?

Ahem. Imagecraft glaub ich hat einen MSP430 compiler fuer ein paar 
hunderter. IAR ist eh kaum bedienbar.

von Arc N. (arc)


Lesenswert?

Karl heinz Buchegger schrieb:
> Arc Net schrieb:
>
>> Entweder hab ich was bei IAR verpasst oder, was wahrscheinlicher ist,
>> sind die Preise immer noch so wie früher...
>> Etwa 3000 USD
>
> Wow.
> Das ist allerdings wirklich heftig.
> Ich hatte eher mit so um die einen Hunderter gerechnet.

Es gäbe noch die Baseline-Version mit einem Limit von 12 kiB-Code, die 
liegt dann bei nur 700 € - 900 €, oder als Limited-Edition ohne 
Code-Limit dann aber ohne Debugger und Misra-Checker...
TIs-Compiler sind dagegen günstig: Kostenlos mit 16 kiB-Limit oder 
unbegrenzt für um die 400 €.
Also entweder Geld ausgeben oder das ganze auf den mspgcc oder 
TI-Compiler portieren...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Eine Alternative zum IAR ist die nichtkommerzielle Lizenz von Rowley 
Crossworks. Kommt mit 'ner IDE, hat 'nen brauchbaren Debugger, 
unterstützt die üblichen JTAG-Interfaces und kennt alle MSP430-Derivate. 
Vollständige Floatingpoint-Unterstützung, und Codegenerierung für 
MSP430X (mit 20-Bit-Adressraum, wie z.B. im 'F5438) sind auch mit dabei.

Damit ist das Teil etwas interessanter als die freie mspgcc-Toolchain, 
die den Entwicklungen von TI etwas hinterherhinkt und auch nicht ganz 
einfach zum Laufen zu bekommen ist.

Die nichtkommerzielle Lizenz kostet 150 USD, was auf um die 100 EUR 
hinauslaufen dürfte.

Einzige Einschränkung dieser Version ist, daß damit eben nicht 
kommerziell gearbeitet werden darf.

Crossworks gibt es auch für Linux, Mac OS X und Solaris.

von Chris (Gast)


Lesenswert?

Ohje....

des ja alles verdammt teuer ....
Privat ja fast nich finanzierbar -.-.

Naja ich versuch mal mein Glück weiter.

Aber zumindest weiß ich dass es nur begrenzt an meinem Code liegt :-).

Danke sehr für eure Hilfe und ein gutes Jahr 2010,

grüße

von Jörg S. (joerg-s)


Lesenswert?

Soll das was komerzielles werden? Ansonsten kannst du auch die 30 Tage 
Vollversion von IAR nehmen und z.B. auf einem Virtual PC installieren 
bei dem (zufällig) die Konfiguration so eingestellt ist, das die PC Zeit 
nicht weiter läuft... ;)

von LM317 (Gast)


Lesenswert?

Für die MSP430 gibts auch ein GCC Port.

http://mspgcc.sourceforge.net/

Cheers

von Chris (Gast)


Lesenswert?

Nee soll nix kommerzielles werden.
Ist für die Uni....

Muss mich mal schlau machen, hab leider nicht mehr soviel Zeit ...
Von dem her werd ich wohl die 30 Tage Version nehmen...

grüße
Chris

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
Noch kein Account? Hier anmelden.