Ho provato l'esempio SD_MMC -> SD2USBMSC in Arduino IDE 2.3.4 su una board Freenove ESP32-S3_WROOM che monta un ESP32-S3. Tra le board nell'IDE la Freenove non esiste, ma utilizzando la "ESP32S3 Dev Module" non ho avuto problemi. Fin qui tutto bene perchè tutto funziona. Adesso vorrei importare il progetto in VS Code e PlatformIO. Qui però noto che ci sono differenze con l'IDE Arduino nella lista delle board (la Freenove c'è) e soprattutto nella libreria della SD che in PlatformIO non ha dei metodi che vengono utilizzati nell'esempio ( ad esempio SD_MMC.writeRAW e SD_MMC.readRAW ).
Evidentemente ci sono differenze tra i framework. Qualcuno può spiegarmi se e come posso risolvere il problema?
PlatformIO per qualche motivo di cui non ricordo la ragione, non supporta ancora la versione 3.x.x del core ESP32 per Arduino (c'è poco sviluppo lato Arduino).
Se vai a vedere sul sito l'ultima release disponibile è ancora basata sul core v2.0.17
Può darsi che il tuo esempio usi le nuove API introdotte con la versione 3 del core e per questo motivo non ti compila.
Per risolvere, puoi installare il plugin pioarduino IDE che è un fork di Platformio (di fatto lo sostituisce in tutto e per tutto) mantenuto dalla community ed è costantemente aggiornato.
Io lo uso da tempo e mi ci trovo molto bene.
In alternativa puoi usare il plugin "Arduino Community Edition" che usa Arduino-CLI per compilare esattamente come Arduino IDE (ed infatti usa lo stesso percorso per le librerie)