Table of Contents

log

Flow

Application:

Frontend:

ApplicationApplicationCircular BufferNRF_LOG_BUFSIZECircular BufferNRF_LOG_BUFSIZElog_mempooldynamic memory poollog_mempooldynamic memory poolnrf_log_frontend_dequeue()nrf_log_frontend_dequeue()backend RTTbackend RTTbackend UARTbackend UARTbackend xbackend xNRF_LOG_MSGPOOL_ELEMENT_SIZE                            xNRF_LOG_MSGPOOL_ELEMENT_COUNTNRF_LOG_INFO()NRF_LOG_DEBUG()NRF_LOG_HEXDUMP()NRF_LOG_PROCESS()nrf_memobj_alloc()pop one entrycopy entry to allocatedmempool objectbackend1:check filters and statusmempool objectbackend2:check filters and statusmempool objectbackend3:check filters and statusmempool objectnrf_memobj_put()return "circular buffer is empty"

buffer sizes

Backends api

typedef struct
{
    void (*put)(nrf_log_backend_t const * p_backend, nrf_log_entry_t * p_entry);
    void (*panic_set)(nrf_log_backend_t const * p_backend);
    void (*flush)(nrf_log_backend_t const * p_backend);
} nrf_log_backend_api_t;

using CLI and deferred log

SUMMARY: