Änderungen
Aus Hackerspace Ffm
== Firmwareupdate via USB MSC ==
Die MCU simuliert ein Speicherlaufwerk, dass allerdings nur ganz bestimmte Dateien annimmt, z.B. mit den Endungen .bin oder .uf2. Alle anderen Schreibzugriffe werden sofort verworfen. Interessant ist z.B. die Implementation von Arduino-ESP32 [https://github.com/espressif/arduino-esp32/blob/3.2.0/cores/esp32/FirmwareMSC.cpp].
== FAT in internen Flash, direkte Freigabe via USB MSC ==
Vorteile:
* Verhältnismäßig einfach machbar
* Gute PC Kompatibilität
Nachteile:
* Flash-Blockgröße von 4096 Bytes erfordert Cluster von 4096 Bytes (Jedes File belegt min. 4k)
* Es scheint eine minimale Größenbeschränkung zu geben, Berichten zufolge können keine FATs unter 0.5MB angelegt werden
* Schnelles Wear-Out vom Flash
* Gemeinsamer Zugriff nur schwer möglich (entweder USB MSC oder MCU greift auf FAT zu)
== FAT in eine Datei, die im LittleFS vom internen Flash liegt, Freigabe dieser virtuellen FAT via USB MSC ==
Vorteile:
* Gute PC Kompatibilität
* Gutes Wear-Leveling
* Cluster-Größe von 512 Byte machbar
* Kleine Laufwerke machbar (unter 0.5MB)
Nachteile:
* Kompliziert
* Langsam
* Gemeinsamer Zugriff nur schwer möglich (entweder USB MSC oder MCU greift auf FAT zu)
== FAT als RAMDRIVE, Freigabe FAT via USB MSC, Spiegeln RAMDRIVE nach LittleFS ==
Vorteile:
* Gute PC Kompatibilität
* Bestes Wear-Leveling
* Cluster-Größe von 512 Byte
* Kleine Laufwerke machbar (unter 0.5MB)
* Volle Kontrolle bei Spiegeln welche Dateien genommen werden
* Sehr schnell
Nachteile:
* Größe Beschränkt durch RAM (vermutlich dadurch max 256KB - aber ggf geht mehr mit PSRAM?)
* Kompliziert