Zephyr API Documentation 4.0.99
A Scalable Open Source RTOS
|
Data Structures | |
struct | log_frontend_stmesp_demux_log_header |
Logging message header. More... | |
union | log_frontend_stmesp_demux_header |
Union for writing raw data to the logging message header. More... | |
struct | log_frontend_stmesp_demux_packet_generic |
Generic STP demux packet. More... | |
struct | log_frontend_stmesp_demux_log |
Packet with logging message. More... | |
struct | log_frontend_stmesp_demux_trace_point |
Packet with trace point. More... | |
struct | log_frontend_stmesp_demux_hw_event |
Packet with HW event. More... | |
union | log_frontend_stmesp_demux_packet |
Union of all packet types. More... | |
struct | log_frontend_stmesp_demux_config |
Demultiplexer configuration. More... | |
Macros | |
#define | LOG_FRONTEND_STMESP_DEMUX_MAJOR_BITS 3 |
Bits used to store major index. | |
#define | LOG_FRONTEND_STMESP_DEMUX_LEVEL_BITS 3 |
Bits used to store severity level. | |
#define | LOG_FRONTEND_STMESP_DEMUX_TLENGTH_BITS 16 |
Bits used to store total length. | |
#define | LOG_FRONTEND_STMESP_DEMUX_PLENGTH_BITS 10 |
Bits used to store package length. | |
#define | LOG_FRONTEND_STMESP_DEMUX_MAJOR_MAX BIT(LOG_FRONTEND_STMESP_DEMUX_MAJOR_BITS) |
Maximum number of supported majors. | |
#define | LOG_FRONTEND_STMESP_DEMUX_TYPE_LOG 0 |
Log message type. | |
#define | LOG_FRONTEND_STMESP_DEMUX_TYPE_TRACE_POINT 1 |
Trace point message type. | |
#define | LOG_FRONTEND_STMESP_DEMUX_TYPE_HW_EVENT 2 |
HW event message type. | |
Functions | |
int | log_frontend_stmesp_demux_init (const struct log_frontend_stmesp_demux_config *config) |
Initialize the demultiplexer. | |
void | log_frontend_stmesp_demux_major (uint16_t id) |
Indicate major opcode in the STPv2 stream. | |
void | log_frontend_stmesp_demux_channel (uint16_t id) |
Indicate channel opcode in the STPv2 stream. | |
int | log_frontend_stmesp_demux_packet_start (uint32_t *data, uint64_t *ts) |
Indicate detected packet start (DMTS). | |
int | log_frontend_stmesp_demux_log0 (uint16_t source_id, uint64_t *ts) |
Indicate optimized log message with no arguments. | |
void | log_frontend_stmesp_demux_source_id (uint16_t source_id) |
Indicate source ID. | |
void | log_frontend_stmesp_demux_timestamp (uint64_t ts) |
Indicate timestamp. | |
void | log_frontend_stmesp_demux_data (uint8_t *data, size_t len) |
Indicate data. | |
void | log_frontend_stmesp_demux_packet_end (void) |
Indicate packet end (Flag). | |
uint32_t | log_frontend_stmesp_demux_get_dropped (void) |
Get number of dropped messages and reset the counter. | |
union log_frontend_stmesp_demux_packet | log_frontend_stmesp_demux_claim (void) |
Claim packet. | |
void | log_frontend_stmesp_demux_free (union log_frontend_stmesp_demux_packet packet) |
Free previously claimed packet. | |
const char * | log_frontend_stmesp_demux_sname_get (uint32_t m_id, uint16_t s_id) |
Get source name for a turbo log message. | |
bool | log_frontend_stmesp_demux_is_idle (void) |
Check if there are any started but not completed log messages. | |
void | log_frontend_stmesp_demux_reset (void) |
Close any opened messages and mark them as invalid. | |
int | log_frontend_stmesp_demux_max_utilization (void) |
Get maximum buffer utilization. | |
#define LOG_FRONTEND_STMESP_DEMUX_LEVEL_BITS 3 |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Bits used to store severity level.
#define LOG_FRONTEND_STMESP_DEMUX_MAJOR_BITS 3 |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Bits used to store major index.
#define LOG_FRONTEND_STMESP_DEMUX_MAJOR_MAX BIT(LOG_FRONTEND_STMESP_DEMUX_MAJOR_BITS) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Maximum number of supported majors.
#define LOG_FRONTEND_STMESP_DEMUX_PLENGTH_BITS 10 |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Bits used to store package length.
#define LOG_FRONTEND_STMESP_DEMUX_TLENGTH_BITS 16 |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Bits used to store total length.
#define LOG_FRONTEND_STMESP_DEMUX_TYPE_HW_EVENT 2 |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
HW event message type.
#define LOG_FRONTEND_STMESP_DEMUX_TYPE_LOG 0 |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Log message type.
#define LOG_FRONTEND_STMESP_DEMUX_TYPE_TRACE_POINT 1 |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Trace point message type.
void log_frontend_stmesp_demux_channel | ( | uint16_t | id | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate channel opcode in the STPv2 stream.
id | Channel ID. |
union log_frontend_stmesp_demux_packet log_frontend_stmesp_demux_claim | ( | void | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Claim packet.
Get pointer to the pending packet with logging message. Packet must be freed using log_frontend_stmesp_demux_free.
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate data.
data | Data buffer. |
len | Length. |
void log_frontend_stmesp_demux_free | ( | union log_frontend_stmesp_demux_packet | packet | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Free previously claimed packet.
See log_frontend_stmesp_demux_claim.
packet | Packet. |
uint32_t log_frontend_stmesp_demux_get_dropped | ( | void | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Get number of dropped messages and reset the counter.
Message can be dropped if there is no room in the packet buffer.
int log_frontend_stmesp_demux_init | ( | const struct log_frontend_stmesp_demux_config * | config | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Initialize the demultiplexer.
config | Configuration. |
0 | on success. |
-EINVAL | on invalid configuration. |
bool log_frontend_stmesp_demux_is_idle | ( | void | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Check if there are any started but not completed log messages.
True | There is no pending started log message. |
False | There is pending message. |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate optimized log message with no arguments.
source_id | Source ID. |
ts | Timestamp. Can be NULL. |
void log_frontend_stmesp_demux_major | ( | uint16_t | id | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate major opcode in the STPv2 stream.
id | Master ID. |
int log_frontend_stmesp_demux_max_utilization | ( | void | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Get maximum buffer utilization.
Non-negative | Maximum buffer utilization. |
-ENOTSUP | Feature not enabled. |
void log_frontend_stmesp_demux_packet_end | ( | void | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate packet end (Flag).
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate detected packet start (DMTS).
data | Data. Can be NULL which indicates trace point without data. |
ts | Timestamp. Can be NULL. |
void log_frontend_stmesp_demux_reset | ( | void | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Close any opened messages and mark them as invalid.
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Get source name for a turbo log message.
During a boot cooprocessors (FLPR and PPR) are sending location in memory where their source data is stored. If application core is an owner of those cores it has access to that memory and based on chip ID and source ID it can retrieve the source name.
m_id | Major ID. |
s_id | Source ID. |
void log_frontend_stmesp_demux_source_id | ( | uint16_t | source_id | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate source ID.
source_id | Source ID. |
void log_frontend_stmesp_demux_timestamp | ( | uint64_t | ts | ) |
#include <zephyr/logging/log_frontend_stmesp_demux.h>
Indicate timestamp.
Timestamp is separated from packet start because according to STM spec (3.2.2) it is possible that timestamp is assigned to a later packet.
ts | Timestamp. |