Wie bei FiPy / uPy überprüfen, ob gewünschtes Filesystem installiert ist

Habe auf einem FiPy gerade alles gelöscht mit
pycom-fwtool-cli.exe --port COM9 erase_all

Und dann neue Firmware installiert mit
pycom-fwtool-cli.exe --port COM9 flash --tar FiPy-1.20.1.r1-0.7.0-vanilla-dragonfly-onewire.tar.gz

Bei der GUI-Version des pycom-fwtools kann ich das gewünschte filesystem händisch auswählen:

2020-01-20 22_11_49-Pycom Upgrade

bei pycom-fwtool-cli.exe habe ich in der Doku keine Option dafür gefunden. Ebenso gibt pycom-fwtool-cli.exe --port COM9 flash -h nichts entsprechendes aus.

Der flash-Speicher wird doch mit dem Firmware-Update schon mit FAT-FS vs. littleFS formatiert, oder?

Wie kann ich rausfinden mit welchem FS der FiPy nun läuft und kontrollieren, ob wirklich littleFS verwendet wird?

Lustigerweise hat dich @Andreas das im PyCom-Forum schon mal jemand gefragt
https://forum.pycom.io/topic/5344/file-system-problems-solutions

but how do I Know if it changed from FAT, does it happen automatically? All the online guides are suggesting an element of choice?

Da hast du aber nur geschrieben wie man über die REPL auf littleFS wechselt, wie man es bei einem System prüfe kann habe ich aber leider nicht gefunden.

Soweit ich weiß, gibt er das zumindest in der hiveeyes Firmware in der Bootsequenz mit aus. Wenn er das in der Hiverize nicht macht, müsste man sich wieder Mal dort den entscheidenden Code Schnipsel abschauen.

Gruß Micha

na, indem man es anstartet ?!

[...]
load:0x4009fa00,len:19208
entry 0x400a05f4
Initializing filesystem as LittleFS!
Starting boot process...
[...]

Nach dem Installieren der Firmware (keine weitere Software!) kommt bei mir nur

>>> ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff8020,len:8
load:0x3fff8028,len:2136
load:0x4009fa00,len:19860
entry 0x400a05d0
Pycom MicroPython 1.20.1.r1-0.7.0-vanilla-dragonfly-onewire [13d82ea5-dirty] on 2019-11-17; FiPy with ESP32
Type "help()" for more information.
>>>

Kann es sein, dass zu dieser Zeit noch gar kein flash-filesystem angelegt ist? Eigentlich nicht, weil boot.py und main.py (autogenerated) schon auf dem FiPy sind.

Auch mit “custom” code drauf, hier die BOB-software, wird es nicht ausgegeben:

ets Jun  8 2016 00:22:57

rst:0x7 (TG0WDT_SYS_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff8020,len:8
load:0x3fff8028,len:2136
load:0x4009fa00,len:19860
entry 0x400a05d0
Disabling LTE modem.
Starting boot process...
Boot finished.
CSV Logger failed. Is a SD card inserted?
[...]

Frühere Firmware-Versionen haben andere Ausgaben.
Bei mir sieht es z.Z.so aus:

rst:0x1 (POWERON_RESET),boot:0x32 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff8020,len:8
load:0x3fff8028,len:2136
load:0x4009fa00,len:19860
entry 0x400a05d0
boot Anfang
boot Ende
Initialised CSV logger in directory /sd/hiverizelog

und

entry 0x400a05d0
Pycom MicroPython 1.20.1.r1-0.7.0-vanilla-dragonfly-onewire-i2s [daf40f36-dirty] on 2019-12-04; FiPy with ESP32
Type “help()” for more information.

1 Like

Ick nutz ja zum Flashen meist ampy, damit lassen sich nicht nur files draufkopieren, sondern auch wegkopieren:

druff:
sudo ampy --port /dev/ttyUSB0 put main.py

wech:
sudo ampy --port /dev/ttyUSB0 get main.py

So kannste zumindest ne Kopie von den aktuellen main.py/boot.py/settings.py ziehen.

1 Like

Ich versuche es mal hier:

Hi Clemens.

Es ist bestimmt LittleFS. Das wird bereits beim Kompilieren angegeben.

Viele Grüße,
Andreas.

Ich kann die mit LitteFS kompilierte firmware mit der GUI auf FatFS schreiben:

2020-01-21 21_28_25-Pycom Upgrade

Wie sicher / fest / wo wird das denn beim firmware builden angegeben?

… ich möchte wirklich nur sicher sein, dass die 50 FiPys am Ende das richtige Filesystem haben und wir uns nicht neue / mehr Instabilitäten einfangen weil per default oder per but ein falsches FS angelegt wurde. :-)

Gut, dann

make format-flash

ggf. Zeile 96 ausklammern, damit es schneller geht.

Ok, Hilfe aus dem PyCom-Forum:

import pycom; pycom.bootmgr()

was bei mir LittleFS ausgibt

>>> import pycom; pycom.bootmgr()
('Factory', 'LittleFS', 'SafeBoot: False', 'Status: Ready')

Strange ist aber immer noch das Verhalten der GUI, wenn ich FatFS auswähle und das auch bestätig wird, s.o. hier gibt pycom.bootmgr() dennoch LittleFS aus, eine Meldug muss also falsch sein! Siehe

… dann kann ich ja jetzt flashen!