Core Dump Upload Service
To investigate crashes in some sold devices, the backtrace is needed for analysis. The core dump upload service transmits the backtrace stored in the device partition over HTTP. To enable this feature, select ESP_COREDUMP_ENABLE_TO_FLASH
.
Application Example
Implementation of this API is demonstrated in the following example:
Header File
Functions
-
bool coredump_need_upload()
This function will check the reset code and determine whether to upload the coredump.
- Returns
true: last reboot is a abnormal reset.
false
-
esp_err_t coredump_upload(periph_service_handle_t handle, char *url)
Upload the core dump image to the url. This function will block the current task until the upload process finished.
- Parameters
handle – [in] the ‘periph_service_handle_t’
url – [in] server addr
- Returns
ESP_OK
ESP_FAIL
-
periph_service_handle_t coredump_upload_service_create(coredump_upload_service_config_t *config)
Create the core dump upload service instance.
- Parameters
config – configuration of the OTA service
- Returns
NULL: Failed
Others: Success
Structures
-
struct coredump_upload_service_config_t
coredump service configuration parameters
Public Members
-
int task_stack
>0 Service task stack; =0 with out task created
-
int task_prio
Service task priority (based on freeRTOS priority)
-
int task_core
Service task running in core (0 or 1)
-
periph_service_cb evt_cb
Service callback function
-
void *cb_ctx
Callback context
-
bool (*do_post)(char *url, uint8_t *data, size_t len)
POST interface, users can override this to customize the http client. if left NULL, the service will use the default one
-
int task_stack
Macros
-
COREDUMP_UPLOAD_SERVICE_DEFAULT_CONFIG()