核心转储上传服务

[English]

如需调查已出售设备中的 crash 事件,则需要回收回溯信息进行分析。核心转储上传服务 (core dump upload service) 支持通过 HTTP 将存储在设备分区中的回溯信息传输回来。选择 ESP_COREDUMP_ENABLE_TO_FLASH,即可启用此功能。

应用示例

以下示例展示了该 API 的实现方式。

Header File

Functions

bool coredump_need_upload()

This function will check the reset code and determine whether to upload the coredump.

返回

  • 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.

参数
  • handle[in] the ‘periph_service_handle_t’

  • url[in] server addr

返回

  • 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.

参数

config – configuration of the OTA service

返回

  • 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

Macros

COREDUMP_UPLOAD_SERVICE_DEFAULT_CONFIG()