Arduino Array - wieviel Platz habe ich ?

Gast #4035833
Lesenswert?
• ▲
▼
Hallo,

ich möchte gern mit einem Arduino Pro Mini ( ATMEGA 328 P 5V ) gemessene 
Temperaturwerte in einem Array im 2KByte RAM speichern und später wieder 
auslesen. Das haben sicher schon viele gemacht ....
Jetzt würde mich interessieren wie groß dieses Array sein darf, da 
sicher Teile vom RAM schon vom Arduino-System für Variablen benutzt 
werden.
Gibt es da eine Möglichkeit das unter der Arduino-Programmieroberfläche 
rauszubekommen?
Den ATMEGA mit C oder Bascom zu programmieren möchte ich nicht, da ich 
für das verwendete Display ein vorhandene Arduino Bibliothek benutze.

erstmal vielen Dank für alle Antworten
Gast #4035840
Lesenswert?
• ▲
▼
stefan baier schrieb:
> Den ATMEGA mit C oder Bascom zu programmieren möchte ich nicht, da ich
> für das verwendete Display ein vorhandene Arduino Bibliothek benutze.

Dann benutze diese Bibliothek in der Arduino IDE und compiliere
sie. Bei (hoffentlich) erfolgreichen Abschluss gibt dir die IDE
eine Meldung aus wie gross der erzeugt Code (im Flash Speicher)
und das benutze RAM ist.

Da wir deine Bibliothek nicht kennen können wir nicht beurteilen
wie die Speicherauslastung aussieht.
Gast #4035859
Lesenswert?
• ▲
▼
stefan baier schrieb:
> Den ATMEGA mit C oder Bascom zu programmieren möchte ich nicht, da ich
> für das verwendete Display ein vorhandene Arduino Bibliothek benutze.

Aber eine Anwendung für dein eigentliches Vorhaben programmiert
sich nicht von alleine ....  es sei denn du lässt programmieren ...
Gast #4035880
Lesenswert?
• ▲
▼
Die Anwendung an sich funktioniert. Nach dem kompilieren bekomme ich nur 
das angezeigt:

Binäre Sketchgröße: 12.056 Bytes (von einem Maximum von 30.720 Bytes)

evtl. gibt es eine Funktion die die Größe des unbenutzen RAM ausgibt.
Gast #4035892
Lesenswert?
• ▲
▼
>evtl. gibt es eine Funktion die die Größe des unbenutzen RAM ausgibt.

Ja gibt es. Aber du willst ja nur die vorhandene Arduino Bibliothek für 
das verwendete Display verwenden, die keiner außer dir kennt. Also such 
einfach selbst in dieser Bibliothek nach einer Funktion die die Größe 
des unbenutzen RAM ausgibt.

Wenn du weniger lernresistent wärst, könnte man dir andere Funktionen 
empfehlen. Aber was solls, wenn du so stur bist?
#4035899
Lesenswert?
• ▲
▼
Hallo Stefan,

Du kommst dem freien Speicher schon ein wenig näher, wenn du die 
Belegung durch statisch angeforderten Speicher kennst. Die "kleinen" 
Programme tendieren ja dazu, im Wesentlichen statischen Speicher oder 
den Stack zu belegen.

Beim Compile eines Arduino-Programmes wird in einem Temp-Verzeichnis 
eine zum Programm passende elf-Datei produziert. Aus der kann dann die 
größe des statisch reservierten RAMS mit dem Tool avr-size ermittelt 
werden.

Beispiel bei mir auf dem Arbeitsrechner:
C:\Temp\arduino-1.0.5\hardware\tools\avr\bin\avr-size -C 
--mcu=atmega328p 
C:\Users\alex\AppData\Local\Temp\build7991906938669831025.tmp\VierkanalS 
ender.cpp.elf

Beitrag "avr-size: Wie groß ist das Programm denn nun wirklich?"
http://rn-wissen.de/wiki/index.php/Speicherverbrauch_bestimmen_mit_avr-gcc

Gruß
Alexander
Gast #4035976
Lesenswert?
• ▲
▼
stefan baier schrieb:
> Die Anwendung an sich funktioniert. Nach dem kompilieren bekomme ich nur
> das angezeigt:

dann scheint deine Arduino IDE Version zu alt zu sein, bei meiner 
1.5.6-r2 gibt es zB diese Angaben zum Schluss:
'Der Sketch verwendet 4.554 Bytes (15%) des Programmspeicherplatzes. Das 
Maximum sind 28.672 Bytes.
Globale Variablen verwenden 151 Bytes (5%) des dynamischen Speichers, 
2.409 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.560 
Bytes.'

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.