Hallo Ich suche einen Eratz für einen ATMega 8. Ich habe die Typen 88, 168 gefunden. Leider haben die nur einen größeren Flash. Ich brauche aber auch einen größeren SRAM. Muß pinkompatible sein. Hat jemand noch einen Einfall? Gruß
wolf4124 wrote:
> Ich brauche aber auch einen größeren SRAM.
Wie groß und für was? Vieleicht lässt sich das Problem ja auch anders
lösen.
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ß
@ wolf4124 (Gast) >Ich habe das Programm schon ziemlich zusammengestrichen. >Leider reicht es noch nicht aus. WAS willst du KONKRET machen, dass 1 KiBi RAM nicht reicht? MFg Falk
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.
Der Mega8 (88) hat für seine Flash-Grösse schon ungewöhnlich viel RAM. Immerhin gilt für AVRs sonst die Regel RAM <= ROM/16.
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
ecslowhand wrote: >>>Bezugsquelle? > Atmel ? Microchip verkauft Einzelstückzahlen direkt. Atmel auch?
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
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ß
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.