Forum: Mikrocontroller und Digitale Elektronik Mega32 Ersatz mit mehr Speicher


von Ich bins :-) (Gast)


Lesenswert?

Hallo,

ich habe hier einen Mega32 am laufen und nun braucht mein Programm 
welches ich in Bascom geschrieben habe zuviel Platz im Chip.

Die Platine habe ich schon fertig, daher bin ich auf DIL40 begrenzt.

Ich habe meine Sachen in Abschnitten aufgebaut und alle einzelln 
getestet(Zeit, Temp, Menü usw...)

Nun habe ich alles zusammenkopiert und mein Programm kompiliert ohne 
Fehler durch.

Nur leider sagt er mir, das mein Programmcode für den Chip zu gross ist.
Mega32 ist eingestellt.

Was kann ich machen, damit ich mein Code in den Chip bekomme?
Bräuchte fast den doppelten Speicher, da Bascom sagt, das der Code 186% 
vom verfügbaren Speicher braucht.

Oder... ???

mfG

von Simon K. (simon) Benutzerseite


Lesenswert?

Code oder RAM?

Pinkompatible Varianten:
ATMega64
ATMega644

von Rudolph R. (rudolph)


Lesenswert?

Der Mega64 ist nicht kompatibel, der ist im TQFP64.

Mega644/Mega644P sind genau richtig.

von Ich bins :-) (Gast)


Lesenswert?

Gute Frage...

Mein Programmcode ist zu gross.

Den Mega64 finde ich aber nicht als DIL40
Und ich weis nicht, ob der 644 in DIL40 mit halb soviel Eeprom und RAM 
ausreicht. Vom Flash-Memory hat der doppelt soviel wie der Mega32.

von Rudolph R. (rudolph)


Lesenswert?

Verguckt?
Der Mega644/Mega644P hat genau wie der Mega64 doppelt so viel 
FLASH/SRAM/EEPROM wie der Mega32 - 64K/4K/2K.

von Ich bins :-) (Gast)


Lesenswert?

Bei Reichelt ist der 644 mit 64kB Flash 512Eeprom und 1kBRam angegeben.

Wo bekomme ich einen 644x mit Dil40 und 64K/4K/2K?

von Rudolph R. (rudolph)


Lesenswert?

Na, von Reichelt?
Ist doch egal was die schreiben, was zählt ist, was im Datenblatt steht.

Und ansonsten CSD, Artikel-Nummer 30174.


Edit: Du hast in den Papier-Katalog gesehen, nicht wahr?
Der ist sowieso reichlich mit Fehlern gespickt.

von gast (Gast)


Lesenswert?

das was bei Reichelt steht muss ncht immer stimmen. Den Mega644 gibts 
nur in der einen von ATMEL angegebenen Version. Reichelt bekommt keine 
2te Wahl mit weniger Speicher geliefert !!!!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wenn du noch mehr Speicher brauchst, musst du auf den ATmega1284P
warten: 128 KiB ROM und 16 KiB SRAM.  Der ist im neuen RZRAVEN drin.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Quark, bei Reichelt steht da genau garnix zu.
Nur im dortigen Datenblatt, und da dann die korrekte Angabe...
Augen auf!

Btw: Deine Frage hättest du dir auch locker mit einem Blick ins 
Datenblatt des 32er und mit etwas nachdenken, des 644 beantworten 
können...

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

EDIT: Grade gesehen das du dich wohl auf den Blätterkatalog beziehst, in 
dem es tatsächlich falsch steht. Der 644 hat korrekterweise 64K Flash, 
4K SRAM und 2K EEPROM.

Ansonsten:
http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC#760

von Roland P. (pram)


Lesenswert?

Evtl könnte man aber auch den Code optimieren...

von Ich bins :-) (Gast)


Lesenswert?

Also nehme ich den hier:
http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A363;GROUPID=2959;ARTICLE=68176;START=0;SORT=-preis;OFFSET=16;SID=22FarvjdS4ARYAAGkyNSc1e3c2594e8d5d5a8cb2e7b3ed65034c2

Aber was mache ich mit dem Quarz, ich habe einen 8Mhz dran.
Läuft der da auch ???

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Roland Praml wrote:
> Evtl könnte man aber auch den Code optimieren...

Das sowiso. In C würde ich erstmal -Os reinmachen aber Bascom...
Eh so ne Seuche...

Wie bitte verbrät man 60KB Speicher?

von Ich bins :-) (Gast)


Lesenswert?

Den Code habe ich schon geschrumpft.
Das meiste sind das Menü und die Zeit Temp Abfragen.

von Rudolph R. (rudolph)


Lesenswert?

> Aber was mache ich mit dem Quarz, ich habe einen 8Mhz dran.
> Läuft der da auch ???

Ist das Dein erstes Projekt mit einem Mikro-Controller?

von Jadeclaw D. (jadeclaw)


Lesenswert?

Jörg Wunsch wrote:
> Wenn du noch mehr Speicher brauchst, musst du auf den ATmega1284P
> warten: 128 KiB ROM und 16 KiB SRAM.  Der ist im neuen RZRAVEN drin.
Nicht nur da. AVRStudio kennt ihn auch: m1284Pdef.inc

Gruß
Jadeclaw.

von crazy horse (Gast)


Lesenswert?

kommt auf das Projekt an. Bin mir auch ziemlich sicher, dass man das 
noch eindampfen könnte und mit dem Mega32 auskommen sollte - habe aber 
auch keine Ahnung von Bascom-Optimierungen. Fängt aber auch mit dem 
eigenen Programmierstil an, da kann oft der beste Compiler nichts draus 
machen.
Wenn es aber ein Einzel-Bastler-Projekt ist und es einen pinkompatiblen 
Ersatz gibt - warum nicht?

von Ich bins :-) (Gast)


Lesenswert?

@  Rudolph R.
Ja so ziemlich - sonst würde ich hier nicht fragen...

@ all
Das meiste an dem Programmcode ist der Menüaufbau.
Es ist eine Auqariumsteuerung für 4 Aquarien mit einen Haufen Sachen zum 
steuern. Daher kann ich den Code nicht weiter schrumpfen.
Habe schon verschiedene Sachen rausgeschmissen zum testen.

von let (Gast)


Lesenswert?

Du kannst den 644V mit bis zu 10MHz betreiben. Dein 8MHz Quarz
geht also. Sofern du kein sehr genaues Timing benötigst, kannst
den aber auch weglassen und den internen RC Oszillator verwenden.
Der läuft auch mit 8MHz (+/- 2% oder so).

Kennt deine Bascom Version den 644? Der ist relativ neu. Die
FUSE Bits sind wahrscheinlich auch etwas anders. Wenn du den
so wie er geliefert wird einsteckst, läuft der Bursche mit 1MHz
und aktivierter JTAG Schnittstelle. D. h. einige Pins funktionieren
dann nicht.

Mit Menüs kann man sich ein Programm leicht aufblasen, da soetwas
dazu verführt redundanten Code zu schreiben. Der ist dann zwar
übersichtlich und flexibel aber eben auch groß. Vielleicht solltest
du dein Vorgehensmodell überdenken. Der 644 ist ja sonst auch schon
bald am Ende.

von Rudolph R. (rudolph)


Lesenswert?

> Ja so ziemlich - sonst würde ich hier nicht fragen...

Na dann wünsche ich Dir, dass das alles so klappt wie Du Dir das 
vorstellst!

von Ich bins :-) (Gast)


Lesenswert?

Der Code ist fertig und läuft auf einer anderen Platine mit einen M128 
schon.
Von daher mache ich mir da keine Gedanken.

Bascom kennt den 644 schon und kompiliert auch durch.
JTAG und Fusebits sind mir klar.

von Gast (Gast)


Lesenswert?

@ Tim T.
> Ansonsten:
> http://www.atmel.com/dyn/products/param_table.asp?...

Wenn ich mir die Spalten mit den A/D-Kanälen ansehe,
inwieweit kann ich dann den anderen Angaben vertrauen?

von Gast (Gast)


Lesenswert?


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.