JumpZero wrote: ↑Mon Aug 30, 2021 11:25 am
This normal, that's a difference between MicroPython and CircuitPython
That's not
quite right, just to clarify; CircuitPython
requires USB mass storage support (at least, until very recently where they're relaxing that for some ports where BLE can be used to interact with the filesystem). MicroPython
can use USB mass storage on ports that support it - but it may be disabled. Many stm32 boards support USB mass storage for example.
MicroPython supports the concept of a
virtual filesystem of which there are currently two implementations: FatFS and LittleFS. FatFS is the venerable Microsoft filesystem - it's not particularly robust but it is required for USB mass storage. LittleFS was designed for embedded use; it's small, supports wear levelling and is robust - particularly in the event of unexpected power failures. So there's a tradeoff; the improved resilience of LittleFS or the convenience of FatFS since, with it, USB mass storage becomes available.
I believe MicroPython made the choice to go with LittleFS by default for the RP2 port since Thonny had been selected as the IDE (it doesn't need mass storage) and using LittleFS meant it was less likely beginners would have issues with corrupt filesystems.
Since
TinyUSB is used for the RP2 port to provide USB features - just like CircuitPython - mass storage with FatFS should be possible. It's not yet implemented but all the components are there...