Ersatz AVR ATMega8

Gast #706243
Lesenswert?
• ▲
▼
Hallo

Ich habe das Programm schon ziemlich zusammengestrichen.
Leider reicht es noch nicht aus.
Mal von Erweiterungen abgesehen.
Deshalb hätte ich gleich einen größeren genommen.
Externer RAM ist leider nicht möglich.

Gruß
#706257
Lesenswert?
• ▲
▼
Es gibt ein paar Tricks womit sich die Code- und sramgrösse sehr gut 
optimieren lässt. z.B. Ersatz von floating points durch 
festkomma-arythmetik, Meidung von standardfunktionsaufrufen z.B sprintf, 
atoi usw, Verbannung von Stringkonstanten ins Flash usw...

Jedenfalls sehe ich so zumindest ohne Adapterplatine keine 
weiternmöglichkeiten.
Gast #706280
Lesenswert?
• ▲
▼
Bau dir doch einen Adapter für einen Mega128. Das sollte dann reichen.

Die Standard-Maßnahmen gegen zu hohen SRam-Verbrauch (wie Strings ins 
FLash, etc.), hats du aber schon angewendet?

Oliver
#706381
Lesenswert?
• ▲
▼
wolf4124 wrote:
> Ich habe das Programm schon ziemlich zusammengestrichen.
> Leider reicht es noch nicht aus.

Nö, Streichen hilft da nicht.
Die Codegröße hat keinen direkten Einfluß auf den RAM.


Es hilft oft, wenn man immer den kleinst möglichen Datentyp nimmt 
(unsigned char statt int) und viele lokale Variablen.

Um mehr zu sagen, müßte man den Code sehen.


Peter
Gast #706467
Lesenswert?
• ▲
▼
Hallo

danke für eure Nachrichten.
Ich meinte Funktionen wieder rausnehmen.
Mein Problem ist eine dinamisch gehaltene Tabelle welche ich im Ram 
halten muß. Habe schon die statische Felder ins Flasch ausgelagert aber 
leider reichts noch nicht. Applikation ist ein Gateway zwischen CAN und 
RS232. Muß warscheinlich doch ein anderes Layout benutzen und einen 
größeren MC verwenden.

Gruß

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