Mega8 vollprogrammiert?

Gast #848659
Lesenswert?

Hallo liebe Forengemeinschaft,

ich wollte mal nachfragen, ob es sein kann, dass ein 200ZeilerC++ (gcc), 
schon ca 7000bytes beim flashen auf einem Mega8 einnimmt??? dann sollte 
mein mega8 nach den nächsten 20zeilen ja so langsam voll sein??? oder 
verstehe ich da was falsch?
vielen dank schon mal für die kleine hilfe...

schönen abend...
MFG Spice
#848665
Lesenswert?

C++? Wirklich? Kann ich mir kaum vorstellen. Aber selbst wenn es "nur" C 
ist: Die Zahl der Quellcodezeilen sagt zunächst mal überhaupt nix über 
die größe des eigentlichen Programms aus! Man kann auch mit ein paar 
wenigen Zeilen einen Mega8 vollschmeißen, wenn man die richtigen 
Funktionen einbaut (printf, Gleitkommageschisse usw...) und evtl. auch 
noch die Optimierung nicht einschaltet...
Gast #848727
Lesenswert?

@hannes

woher weißt du denn die ganzen Einzelheiten über Programmierer und
Hintergrundwissen des Programmierers, weil Du so clever antwortest.
Hier stehen keinerlei Aussagen über das Thema - aber immer drauf.
Hilf lieber anstatt zu mosern und klug zu sch..
Gast #848732
Lesenswert?

>Hier stehen keinerlei Aussagen über das Thema - aber immer drauf.
>Hilf lieber anstatt zu mosern und klug zu sch..

Hannes hat schon recht. Solange der OP nicht antwortet
was er denn da alles reingequetscht hat ist das hier
sowieso nur fröhliches rumraten.
#848738
Lesenswert?

> Hilf lieber anstatt zu mosern und klug zu sch..

Meine Hilfe lag darin, darauf hinzuweisen, dass man etwas auf die 
Ressourcen achten sollte. Und das machen viele sogenannte 
PC-Programmierer schon lange nicht mehr.

Achja, wenn Du andere Leute anpissen willst, dann melde Dich bitte an. 
Aber dazu bist Du anscheinend zu feige. Schießt wohl lieber anonym aus 
der letzten Reihe...

...
Gast #848739
Lesenswert?

Hi,

> wo schaltet man die codeoptimierung ein?

Verrate mal, welche "toolchain" Du benutzt, dann bekommst Du eine 
treffende Antwort!

Falls es sich um GCC+AVRStudio handelt, findest Du die Optimierung unter 
Projects/Configuration Options/Optimization.

Gruß

Fred
Gast #848773
Lesenswert?

ohje, so viele antworten übersehen... Danke Hannes, bist du hier 
eigentlich "nur" registrierter User oder hat man dir auch gleich die 
Lizenz zum "sch*****" labern mitgegeben...
Aber sonst erstmal vielen dank an "alle-1" für die beiträge.
Also ich habe keine codeoptimierung an, daher wollte ich fragen wie ich 
das anstelle...

inkludiert sind:
#include  <avr\io.h>
#include  <util\delay.h>
#include  <stdlib.h>
#include  <avr\interrupt.h>
#include  <avr\sleep.h>

desweiteren werden 5-6 Variablen deklariert und uart-functions + 3 
eigene kleinere funktionen. PowerDown ist konfiguriert und 2 ISRs sind 
am Laufen...

main sieht ca so aus :-)

int (main) void
{
 bool hannes = false;
  while (1)
  {
   if (hannes == 0)
   {
      uart_puts("Hannes is´n Klugsch******");
      DDRC = 0x00;
   }
  };
.......
 return 0;
}

konnts mir einfach nicht verkneifen...
benutze übrigens avr workpad plus, kanns daran liegen?

Danke nochmal und schönen abend...
Spice
Gast #848788
Lesenswert?

>main sieht ca so aus :-)

Und wie sieht die präzise aus ?
Das erzeugt auf jeden Fall keinen 7kB Code.

>eigentlich "nur" registrierter User oder hat man dir auch gleich die
>Lizenz zum "sch*****" labern mitgegeben...

Ist er nicht süß ;)
#848794
Lesenswert?

Leute Leute ....

Immer sachlich und locker bleiben ! Wenn Hannes mit Seiner Vermutung 
falsch lag, dann reicht es wenn man dies klarstellt. Nicht mehr nicht 
weniger.

Ich kann Holger teilweise zustimmen. Der Code von Spice hat definitiv 
keine 7k.

Dem "süß" kann ich leider nicht zustimmen.... Leute zu beschimpfen, die 
man um Hilfe frage .... ohne Worte.

Michael
#848802
Lesenswert?

Hallo,

Spice wrote:
> Hallo liebe Forengemeinschaft,
>
> ich wollte mal nachfragen, ob es sein kann, dass ein 200ZeilerC++ (gcc),
> schon ca 7000bytes beim flashen auf einem Mega8 einnimmt???
> dann sollte mein mega8 nach den nächsten 20zeilen ja so langsam voll
> sein???
> oder verstehe ich da was falsch?
> vielen dank schon mal für die kleine hilfe...
>
> schönen abend...
> MFG Spice

naja, Hannes hätte ja auch einfach seine Fragen beantworten können:

zu 1. ja
zu 2. vermutlich
zu 3. möglich

Viel mehr ist doch aus den Fragen nicht rauszuholen.

Codeoptimierung wurde schon angesprochen und ob man es schafft, hängt 
vom tatsächlichen Code ab, nicht von einer ca.-Version, die übrigens 
nicht funktioniert, weil der uart nicht initialisiert ist...

Gruß aus Berlin
Michael
Gast #848918
Lesenswert?

Hannes Lux schrieb:
> Beim AVR gibt es kein OS, da programmiert man direkt an der
> Hardware, da sollte man schon mal etwas auf den sinnvollen Umgang
> mit den Ressourcen achten.

Wieso denn das?

Wenn auf dem AVR kein Windows drauf ist, sollte doch mindestens 1GB
zusätzlicher Speicher frei sein?
#848924
Lesenswert?

Also wenn die Main Funktion wirklich "nur" so aussieht, was willst du 
dann mit der stdlib? Wie sieht dein uart_puts etc aus? Alles was uns 
helfen würde wäre der gesamte Code. Auch wenn eine lib eingebunden ist 
(eben wie die stdlib) werden eigentlich nur die Teillibs integriert, die 
auch tatsächlich verwendet werden. Wenn man z.B. string.h einbindet, 
aber nur auf die strcmp-Funktion zurückgreift wird auch nur diese 
Funktion eingebunden und nicht gleich alles was die stdlib beinhaltet. 
Aber alleine eine Verwendung einer Fließkommazahl lässt das Hex-File 
auch schnell um fast 2KB anwachsen. Die Codeoptimierung alleine bringt 
meist nur wenige Prozent an geringerer Codegröße, z.B. 2,6 KB anstatt 
2,9 ohne Optimierungen.

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