Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
Coredump APIs

Coredump APIs. More...

Functions

void coredump (unsigned int reason, const z_arch_esf_t *esf, struct k_thread *thread)
 Perform coredump. More...
 
void coredump_memory_dump (uintptr_t start_addr, uintptr_t end_addr)
 Dump memory region. More...
 
void coredump_buffer_output (uint8_t *buf, size_t buflen)
 Output the buffer via coredump. More...
 
int coredump_query (enum coredump_query_id query_id, void *arg)
 Perform query on coredump subsystem. More...
 
int coredump_cmd (enum coredump_cmd_id query_id, void *arg)
 Perform command on coredump subsystem. More...
 

Detailed Description

Coredump APIs.

Function Documentation

◆ coredump()

void coredump ( unsigned int  reason,
const z_arch_esf_t *  esf,
struct k_thread thread 
)

#include <include/debug/coredump.h>

Perform coredump.

Normally, this is called inside z_fatal_error() to generate coredump when a fatal error is encountered. This can also be called on demand whenever a coredump is desired.

Parameters
reasonReason for the fatal error
esfException context
threadThread information to dump

◆ coredump_buffer_output()

int coredump_buffer_output ( uint8_t buf,
size_t  buflen 
)

#include <include/debug/coredump.h>

Output the buffer via coredump.

This outputs the buffer of byte array to the coredump backend. For example, this can be called to output the coredump section containing registers, or a section for memory dump.

Parameters
bufBuffer to be send to coredump output
buflenBuffer length

◆ coredump_cmd()

int coredump_cmd ( enum coredump_cmd_id  cmd_id,
void arg 
)

#include <include/debug/coredump.h>

Perform command on coredump subsystem.

Perform certain on coredump subsystem, for example, output the stored coredump via logging.

Parameters
[in]cmd_idCommand ID
[in,out]argPointer to argument for exchanging information
Returns
Depends on the command

◆ coredump_memory_dump()

void coredump_memory_dump ( uintptr_t  start_addr,
uintptr_t  end_addr 
)

#include <include/debug/coredump.h>

Dump memory region.

Parameters
start_addrStart address of memory region to be dumped
end_addrEnd address of memory region to be dumped

◆ coredump_query()

int coredump_query ( enum coredump_query_id  query_id,
void arg 
)

#include <include/debug/coredump.h>

Perform query on coredump subsystem.

Query the coredump subsystem for information, for example, if there is an error.

Parameters
[in]query_idQuery ID
[in,out]argPointer to argument for exchanging information
Returns
Depends on the query