Habe in den letzten Tagen mit dem PSRAM rumexperimentiert.
Von meinem ESP32 habe ich zwei (ein nackter und ein ESPuino eingelöteter), so dass ich ein wenig vergleichend testen konnte.
PSRAM konnte ich verifizieren. Folgenden Code habe ich benutzt in der Ard. IDE
#include <Arduino.h>
void setup() {
Serial.begin(115200);
if (psramFound()) {
Serial.println("PSRAM found!");
} else {
Serial.println("PSRAM not found!");
}
Serial.print("Total heap: ");
Serial.print(ESP.getHeapSize());
Serial.println(" bytes");
Serial.print("Free heap: ");
Serial.print(ESP.getFreeHeap());
Serial.println(" bytes");
Serial.print("Total PSRAM: ");
Serial.print(ESP.getPsramSize());
Serial.println(" bytes");
Serial.print("Free PSRAM: ");
Serial.print(ESP.getFreePsram());
Serial.println(" bytes");
}
void loop() {
// Your code here
}
Folgende logs habe ich erhalten:
09:27:01.612 → PSRAM found!
09:27:01.612 → Total heap: 375280 bytes
09:27:01.612 → Free heap: 332444 bytes
09:27:01.612 → Total PSRAM: 4194304 bytes
09:27:01.612 → Free PSRAM: 4192124 bytes
Um den PSRAM nun zu nutzen habe ich dann folgende Anpassungen in der platformio.ini vorgenommen:
[env:az-delivery-devkit-v4]
;https://docs.platformio.org/en/latest/boards/espressif32/az-delivery-devkit-v4.html
board = az-delivery-devkit-v4
build_flags = ${env.build_flags}
-DHAL=8
-DBOARD_HAS_PSRAM
Auf dem nackten ESP32 gibt es damit keine Probleme (der fehlende SD card reader liefert die zu erwartende Fehlermeldung). :
Make sure SD card lines have pull-up resistors in place.
E [4677] SD-Karte konnte nicht gemountet werden.
E (5200) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107
E (5201) vfs_fat_sdmmc: sdmmc_card_init failed (0x107).
[ 5205][E][SD_MMC.cpp:148] begin(): Failed to initialize the card (0x107).
Sobald ich den Code mit dem aktivierten PSRAM auf dem verlöteten ESP32 ausprobiere kommt die Endlosschleife mit folgenden Logs:
E (583) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
E (724) esp_core_dump_flash: No core dump partition found!
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Ich weiß nicht ob mein vergleichender Test etwas bringt, da mir nicht klar ist welcher Fehler zuerst auftreten müsste bei dem nackten ESP32 - das SD Card Problem oder der corrupted ESP dump flash. Obiges habe ich auch mit der Config + „-mfix-esp32-psram-cache-issue“ probiert, was keinerlei Auswirkung auf die Ausgabe hatte. Es gibt 2 Themen im Forum mit vergleichbaren Problemen, allerdings fehlt hier die nachlesbare Auflösung des Problems. Vielleicht hat jmd. noch eine Idee wie ich den PSRAM auf meinen ESPuinos nutzbar mache?