You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please enable the core dump and core dump to flash (#define CONFIG_ESP_COREDUMP_ENABLE) in the new Arduino SDK.
At the moment the function in #include "esp_core_dump.h" are only place holder.
Before Arduino edf core 3.0.0 the functionality was enabled.
I think it is very important to have this function enabled by default, so that when there are crashes in the ESP32 it is possible to dump the coredump flash sector and analise it.
The sketch provided below works perfectly with Arduino core 2.0.17, doesnt work at all (aka dump is FF FF FF.. ) on Arduino core 3.0.1
Sketch
#include<esp_task_wdt.h>
#include"Brd_Config.h"
#include"CD.h"
#include"Dbg.h"
#include"esp_partition.h"
#include"esp_log.h"
#include"esp_core_dump.h"
#include"Srv_Config.h"
#defineCOREDUMP_FILE"/coredump.bin"
#defineREAD_CHUNKS4096/* Core dump partition size must be amultiple of READ_CHUNKS */staticconstchar* TAG = "CDModule";
boolCD_ReadCoreD(void);
voidCD_Init(void) {
CD_ReadCoreD();
}
boolCD_ReadCoreD(void) {
constesp_partition_t* pt = NULL;
size_t bytestoread = READ_CHUNKS;
size_t bytesread = 0;
uint8_t str_dst[READ_CHUNKS];
bool append = false;
#if CONFIG_ESP_COREDUMP_ENABLE
esp_core_dump_init();
if (esp_core_dump_image_check() != ESP_OK) {
Dbg_Printf("CoreDump: not found\n");
returnfalse;
}
#endif
pt = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_COREDUMP, "coredump");
if (pt == NULL)
returnfalse;
Dbg_Printf("CoreDump: starting partition read\n");
size_t size = pt->size;
/* Check that size is a multiple of READ_CHUNKS. We dont wat to read beyond our partition */if (size % READ_CHUNKS != 0) {
Dbg_Printf("CoreDump: ERROR partition not aligned!\n");
returnfalse;
}
while (bytestoread > 0) {
/* This loop is dumping 64KB, reset the WD... */esp_task_wdt_reset();
//Dbg_Printf("Remaining partition size : %zu \n", size); //Too many printf! this loop is longesp_err_t er = esp_partition_read(pt, bytesread, str_dst, bytestoread);
//Dbg_Printf("Dumping to bin file...\n"); //Too many printf! this loop is longif (!FS_WriteBinaryFile(COREDUMP_FILE, str_dst, READ_CHUNKS, append)) {
Dbg_Printf("CoreDump: cannot write CoreDump...\n");
returnfalse;
}
append = true;
if (er != ESP_OK) {
Dbg_Printf("READ IS NOT OK!\n");
ESP_LOGE(TAG, "CoreDump: partition read error : %s", esp_err_to_name(er));
returnfalse;
} elseif (er == ESP_OK) {
bytesread = bytesread + READ_CHUNKS;
size = size - READ_CHUNKS;
if (size <= READ_CHUNKS) {
bytestoread = size;
}
}
}
Dbg_Printf("CoreDump: written to bin file succesfully.\n");
//esp_core_dump_image_erase();returntrue;
}
Debug Message
no debegu massage, just run the snipped on 2.0.17 and run it with 3.0.1
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
I confirm I have checked existing issues, online documentation and Troubleshooting guide.
The text was updated successfully, but these errors were encountered:
Board
all boards
Device Description
ESP32 S3
Hardware Configuration
no
Version
v3.0.1
IDE Name
Arduino IDE
Operating System
Windows
Flash frequency
80
PSRAM enabled
no
Upload speed
115200
Description
Please enable the core dump and core dump to flash (#define CONFIG_ESP_COREDUMP_ENABLE) in the new Arduino SDK.
At the moment the function in #include "esp_core_dump.h" are only place holder.
Before Arduino edf core 3.0.0 the functionality was enabled.
I think it is very important to have this function enabled by default, so that when there are crashes in the ESP32 it is possible to dump the coredump flash sector and analise it.
The sketch provided below works perfectly with Arduino core 2.0.17, doesnt work at all (aka dump is FF FF FF.. ) on Arduino core 3.0.1
Sketch
Debug Message
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: