Forum: Mikrocontroller und Digitale Elektronik RP Pico mit uPython: wie den freien Speicherplatz ermitteln


von Peter S. (hw-coach) Flattr this


Lesenswert?

Hi,
ich bin neu im Thema uPython und RP pico. Mein Hintergrung ist Assembler 
und C auf verschiedenen MCU Platformen. Nach längerer Programmierpause 
habe ich mich entschieden ein Projekt mit dem RP Pico und micro Python 
(uPython) durchzuführen. Geschwindigkeit ist dabei kein Thema.

Ich würde gerne feststellen, wieviel Speicher (Flash) mein Program 
benötigt.
Dazu habe ich leider keine Hinweise gefunden.
Ich verwende Thonny als IDE.

Hat jemand mit mehr Erfahrung einen Hinweis, wie ich den benutzten und 
freien Speicherplatz ermittel kann?

Gruß ..

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Das ist ein micropython internal:
https://docs.micropython.org/en/latest/library/micropython.html
Probier also mal
'micropython.mem_info([verbose])'
auf dem Pico Prompt. Mit oder ohne verbose

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Matthias S. schrieb:
> Das ist ein micropython internal:
> https://docs.micropython.org/en/latest/library/micropython.html
> Probier also mal
> 'micropython.mem_info([verbose])'
> auf dem Pico Prompt. Mit oder ohne verbose

Das zeigt aber nur die RAM-Nutzung.

Die Programme werden im Filesystem im Flash-Bereich abgelegt. Da die 
Blockgröße oftmals 1KiB beträgt, einfach die Dateigröße passend auf das 
nächste KiB aufrunden.
In den allermeisten Fällen ist das aber kein Problem. Man kann auch 
vorher eine .mpy Datei daraus machen, die ist kleiner und muss zur 
Ladezeit nicht kompiliert werden.

von Peter S. (hw-coach) Flattr this


Lesenswert?

Vielen DANK für die schnelle Hilfe!!!! Damit kann komme ich weiter


So hat das funktioniert:
-----------
>>> import micropython
>>> micropython.mem_info()
stack: 564 out of 7936
GC: total: 233664, used: 49216, free: 184448
 No. of 1-blocks: 1172, 2-blocks: 183, max blk sz: 64, max free sz: 
11515
------------
Schönen Sonntag noch

von Norbert (der_norbert)


Lesenswert?

Peter S. schrieb:
> Ich würde gerne feststellen, wieviel Speicher (Flash) mein Program
> benötigt.

Und wo siehst du diese Frage beantwortet? ;-)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ja, es ist eben nicht der Flash, sondern der RAM. Flash abfragen habe 
ich in der µPython Doku jetzt nicht gefunden.

von Norbert (der_norbert)


Lesenswert?

Matthias S. schrieb:
> Ja, es ist eben nicht der Flash, sondern der RAM. Flash abfragen
> habe
> ich in der µPython Doku jetzt nicht gefunden.
1
#!/python
2
stat = os.statvfs('/')
3
print(f'{(stat[2]-stat[4])*stat[0]/2**10} KiB')

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
Noch kein Account? Hier anmelden.