Sound Open Firmware
Loading...
Searching...
No Matches
Debug Streams & Low-Level Debugging

Structured debug stream records, Memory Window 2 debug slots, mailbox debug dumps, and GDB target stub. More...

Collaboration diagram for Debug Streams & Low-Level Debugging:

Files

file  debug_stream.h
 User-space ABI stream protocol for passing abstract debug data objects to host.
 
file  debug_stream_slot.h
 SRAM Memory Window 2 Debug Slot mapping and per-core circular buffers.
 
file  debug_stream_text_msg.h
 Text message records transmitted over the debug stream.
 
file  debug.h
 Early firmware bootstrap debug dumps, mailbox peek/poke, and diagnostic helpers.
 
file  gdb.h
 Entry point of the Zephyr GDB stub (CONFIG_GDBSTUB).
 

Data Structures

struct  debug_stream_hdr
 Stream preamble header recognized by host debug tools. More...
 
struct  debug_stream_record
 Abstract debug record envelope carrying application-specific payloads. More...
 
struct  debug_stream_section_descriptor
 Core-specific section descriptor within the debug window slot. More...
 
struct  debug_stream_slot_hdr
 Preamble header placed at the beginning of Memory Window 2 Debug Slot. More...
 
struct  debug_stream_circular_buf
 Per-core circular buffer layout within a debug stream slot. More...
 
struct  debug_stream_text_msg
 Formatted text message record within a debug stream. More...
 

Functions

int debug_stream_slot_send_record (struct debug_stream_record *rec)
 Send a debug stream record over the memory window debug slot.
 
void ds_msg (const char *format,...)
 Format and transmit a text message record over the active debug stream slot.
 
void ds_vamsg (const char *format, va_list ap)
 Transmit a text message record over debug stream using va_list arguments.
 
void gdb_init (void)
 Initialize the GDB target debugging stub, see ipc_enter_gdb.
 

Detailed Description

Structured debug stream records, Memory Window 2 debug slots, mailbox debug dumps, and GDB target stub.

Function Documentation

◆ debug_stream_slot_send_record()

int debug_stream_slot_send_record ( struct debug_stream_record *  rec)

Send a debug stream record over the memory window debug slot.

Parameters
[in]recPointer to abstract debug stream record to transmit.
Returns
0 on success, -ENODEV if debug slot is unconfigured, or -ENOMEM if record exceeds capacity.

◆ ds_msg()

void ds_msg ( const char *  format,
  ... 
)

Format and transmit a text message record over the active debug stream slot.

Parameters
[in]formatPrintf-style format string.
[in]...Variable arguments matching format.

◆ ds_vamsg()

void ds_vamsg ( const char *  format,
va_list  ap 
)

Transmit a text message record over debug stream using va_list arguments.

Parameters
[in]formatPrintf-style format string.
[in]apVariable arguments list.

◆ gdb_init()

void gdb_init ( void  )

Initialize the GDB target debugging stub, see ipc_enter_gdb.