Bascom Programm zu groß - compiliert falsch?

Gast #3147977
Lesenswert?

Hallo,

ich habe hier ein sehr merkwürdiges Problem. Ich habe hier gerade ein 
Projekt am laufen, bei denen viele Grafikdaten verwendet werden. Also 
wird der generierte Code für den µC (Ein Atmega 2560) sehr groß.

Jetzt habe ich das Problem, dass wenn der Code eine Größe von 25 % des 
Controllers (Also ca. 64 KB) überschreitet, dann werden Kreise nicht 
mehr als Kreise gezogen, sondern nur noch ein paar Punkte gemalt.

Z.B. diese Funktion:
1
For Za = 0 To 3
2
Circle(16 , 115) , Za , 1                             
3
Next

sollte eigentlich einen dicken Punkt auf meinem 240 x 128 Grafikdisplay 
ergeben. Doch wird hier nur ein X sichtbar.

Entferne ich jetzt entweder ein paar Grafikdaten oder auch irgendeine 
beliebige Stelle Code, damit der Code insgesamt wieder unter 25 % kommt, 
dann wird wieder alles richtig angezeigt. Ein Programmierfehler kann es 
dann ja nicht sein. Schafft Bascom keinen größeren Code als 64KB zu 
erzeugen oder wie ist das? Hat da schon jemand mit Erfahrung gemacht?
Gast #3148013
Lesenswert?

Die BAscom Version ist 2.0.7.6. Also die Neueste.

@Victor N. was meinst du damit? Mein Programm sieht Momentan so aus, 
dass es ein simples Menü darstellt und hinter jedem Menüpunkt eine 
Grafik angezeigt wird. Jetzt habe ich auch ein Menüpunkt wo Kreise und 
Linien, Punkte etc. angezeigt werden. Linien werden noch sauber 
gezeichnet aber bei Kreisen werden anscheinend nur noch Eckpunkte der 
Kreise gezeichnet.

Und wie schon geschrieben, wenn ich irgendeine Grafik entferne oder auch 
den Code verkürze, damit ich eben auf z.B. 24 % Belegung des Controllers 
komme, dann wird wieder alles richtig angezeigt. Und es ist dabei Egal 
wie und was ich entferne. Hauptsache das Programm kommt unter 25 %. Das 
ist ja das Merkwürdige
Gast #3148028
Lesenswert?

Stacks & Frame sind groß genug ? Wenn's das nicht ist, kann's wie gesagt 
ein RAMPZ Problem sein, dann wird die entsprechende 64k Seite im Flash 
nicht richtig adressiert.
Das ist dann ein Fall für den Support.
Gast #3148038
Lesenswert?

@MWS Habe die Stacks und Frames mal bis ins lächerlich hohe eingestellt, 
aber das Problem löst sich dadurch nicht.

@weinbauer: Ja Ich Arbeite auch gerade mit einem Bootloader. Werde das 
mal mit ISP versuchen, aber das ist dann auch keine Lösung weil den 
Bootloader benutze ich ja auch, damit ich das Gerät per USB direkt aus 
Bascom heraus Programmieren kann.
Gast #3148357
Lesenswert?

Ich benutze den "bootloader.bas" aus dem samples Verzeichnis. 
Eingestellt auf den Atmega 2560. Welchen anderen Bootloader soll ich 
verwenden? Da gibts meines Wissens anch nur diesen, der für den Atmega 
2560 passt.

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