ESP32-PICO-D4 Chip revision and pSRAM limitations
Posted: Mon Nov 09, 2020 12:35 pm
I have a project that migrated from ESP32-WROOM to ESP32-PICO-D4 + external pSRAM recently and am experiencing some spurious random crashes without meaningfull traces since that. Because of that I investigated a little bit and came up with some questions.
1. Which "ECO" revision is the PICO-D4? With release/v4.1 branch the application is in bootloop if I set the ESP32 chip revision to anything above 1 and also the esp_chip_info() function returns a revision of 1. Is this correct?
2. If I disable WiFi and LWIP memory in external pSRAM the crash frequency is reduced significantly. Is this to be expected currently?
2. My application allocates memory with heap_caps_malloc() only explicitly and most execution is done on a single FreeRTOS task on Core 0. I do not interact with the external memory from ISR. The only "problematic" use I can see is that I have a one FreeRTOS task on Core 1 that also interacts with some memory which is allocated on external pSRAM (for slow processing and data transfer out of the system). Is there any known bugs in this regard?
3. As written in this ticket https://github.com/espressif/esp-idf/issues/6093 with release v4.2 and above I get boot loops without the application starting up also if external pSRAM is disabled. Any known changes/limitations/bugs in that regard that I overlooked?
Best regards,
Paul
1. Which "ECO" revision is the PICO-D4? With release/v4.1 branch the application is in bootloop if I set the ESP32 chip revision to anything above 1 and also the esp_chip_info() function returns a revision of 1. Is this correct?
2. If I disable WiFi and LWIP memory in external pSRAM the crash frequency is reduced significantly. Is this to be expected currently?
2. My application allocates memory with heap_caps_malloc() only explicitly and most execution is done on a single FreeRTOS task on Core 0. I do not interact with the external memory from ISR. The only "problematic" use I can see is that I have a one FreeRTOS task on Core 1 that also interacts with some memory which is allocated on external pSRAM (for slow processing and data transfer out of the system). Is there any known bugs in this regard?
3. As written in this ticket https://github.com/espressif/esp-idf/issues/6093 with release v4.2 and above I get boot loops without the application starting up also if external pSRAM is disabled. Any known changes/limitations/bugs in that regard that I overlooked?
Best regards,
Paul