www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega32 Ersatz mit mehr Speicher


Autor: Ich bins :-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code oder RAM?

Pinkompatible Varianten:
ATMega64
ATMega644

Autor: Rudolph R. (rudolph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Mega64 ist nicht kompatibel, der ist im TQFP64.

Mega644/Mega644P sind genau richtig.

Autor: Ich bins :-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rudolph R. (rudolph)
Datum:

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

Autor: Ich bins :-) (Gast)
Datum:

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

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

Autor: Rudolph R. (rudolph)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !!!!

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht 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?...

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl könnte man aber auch den Code optimieren...

Autor: Ich bins :-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also nehme ich den hier:
http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A363;...

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

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ich bins :-) (Gast)
Datum:

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

Autor: Rudolph R. (rudolph)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ich bins :-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: let (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rudolph R. (rudolph)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Ich bins :-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.