Hallo, ich habe einen Mikrocontroller mit 4KByte RAM und 128KByte Flash,beim compilieren des Programms, bekomme ich folgende Informationen: section size addr .data 1568 8388864 .text 14850 0 .bss 2190 8390432 .stab 30900 0 .stabstr 12661 0 Total 62169 ich habe im Robonetz (unten dem Link http://www.rn-wissen.de/index.php/Speicherverbrauch_bestimmen_mit_avr-gcc#Dynamischer_RAM-Verbrauch) gefunden, wie man der Speicherverbrauch mit avr-gcc bestimmen kann.Wie man die code integrieren kann, weiß ich nicht. Im Tutorial wird nur gesagt, dass die Funktion init_mem vor main funktion aufgerufen werden soll. 1)Welche Funktion soll ich im main aufrufen? 2)in welcher Variable finde ich die Große des freien SRAM danke
Tony schrieb: > ich habe im Robonetz (unten dem Link > http://www.rn-wissen.de/index.php/Speicherverbrauch_bestimmen_mit_avr-gcc#Dynamischer_RAM-Verbrauch) > gefunden, wie man der Speicherverbrauch mit avr-gcc bestimmen kann.Wie > man die code integrieren kann, weiß ich nicht. http://www.mikrocontroller.net/articles/FAQ#Ich_hab_da_mehrere_.2A.c_und_.2A.h_Dateien._Was_mache_ich_damit.3F > Im Tutorial wird nur > gesagt, dass die Funktion init_mem vor main funktion aufgerufen werden > soll. > 1)Welche Funktion soll ich im main aufrufen? Die andere. Sind ja nur 2 Funktionen da. Die eine wird beim Startup automatisch aufgerufen und die andere liefert die gewünschte Information. > 2)in welcher Variable finde ich die Große des freien SRAM In gar keiner. Du rufst die Funktion auf und die gibt dir die gesuchte Größe. Wozu brauchst du das überhaupt? Deine Kennzahlen sind noch so weit von den Limits entfernt, dass da noch überhaupt keine Gefahr sein sollte.
Hallo, ich brauche es, weil ich immer Problem beim Ausführen des Programms habe, die ich nicht verstehe,
Tony schrieb: > Hallo, > ich brauche es, weil ich immer Problem beim Ausführen des Programms > habe, die ich nicht verstehe, Dann hilft dir der Speicherverbrauch aber auch nichts oder benutzt du malloc() und co. Du hast einen Fehler im Code und den muss man finden. Du hast bis jetzt ca. 1/3 deines SRAM mit Variablen verbraucht. Es ist ziemlich unwahrscheinlich, dass du einen Speicher Clash mit dem Heap hast (wenn auch nicht unmöglich). Fang erst mit den naheliegenden Fehlerursachen an: Arrayzugriffe ausserhalb des Arrays. Pointer die in den Wald zeigen. etc.
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.