| # Copyright (c) 2022 Nordic Semiconductor ASA |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menu "Frontends" |
| |
| config LOG_FRONTEND_DICT_UART |
| bool "UART dictionary frontend" |
| select LOG_DICTIONARY_SUPPORT |
| select MPSC_PBUF |
| depends on UART_ASYNC_API || UART_INTERRUPT_DRIVEN |
| imply LOG_FMT_SECTION |
| imply LOG_FMT_SECTION_STRIP if !LOG_ALWAYS_RUNTIME |
| help |
| Frontend sends data in binary dictionary mode. |
| |
| if LOG_FRONTEND_DICT_UART |
| |
| config LOG_FRONTEND_DICT_UART_BUFFER_SIZE |
| int "Buffer size" |
| default 1024 |
| help |
| Number of bytes dedicated for buffering data |
| |
| config LOG_FRONTEND_DICT_UART_DROPPED_NOTIFY_PERIOD |
| int "Dropped notification period" |
| default 500 |
| help |
| Determines how often a report about dropped messages is printed. Given |
| in milliseconds. |
| |
| endif |
| |
| config LOG_FRONTEND_STMESP |
| bool "Coresight STM frontend" |
| imply ARM_ON_ENTER_CPU_IDLE_HOOK if LOG_FRONTEND_STMESP_FLUSH_COUNT > 0 |
| |
| if LOG_FRONTEND_STMESP |
| |
| config LOG_FRONTEND_STMESP_DICT |
| bool |
| default y if !LOG_FRONTEND_STMESP_FSC |
| select LOG_FRONTEND_OPT_API |
| select LOG_DICTIONARY_DB |
| imply LOG_FMT_SECTION |
| imply LOG_FMT_SECTION_STRIP |
| |
| config LOG_FRONTEND_STMESP_FSC |
| bool "Send fully self-contained messages" |
| select LOG_MSG_APPEND_RO_STRING_LOC if !(NRF_ETR || \ |
| SOC_NRF54H20_CPUPPR || SOC_NRF54H20_CPUFLPR) |
| |
| config LOG_FRONTEND_STMESP_FLUSH_COUNT |
| int "Number of flushing words" |
| default 4 |
| help |
| Before going to sleep CPU shall write to STM some dummy data to ensure |
| that any buffered data goes to TPIU/ETR. |
| |
| config LOG_FRONTEND_STMESP_EARLY_BUF_SIZE |
| int "Buffer size to store early messages" |
| default 0 |
| help |
| Frontend cannot write to STM if it is used with ETR buffer unless ETR is |
| initialized and memory is properly configured (privileges). Data is stored |
| in the buffer and flushed to the STMESP once the pipeline is ready. |
| |
| config LOG_FRONTEND_STMESP_DICT_VER |
| def_int 0 |
| |
| config LOG_FRONTEND_STMESP_GUARANTEED_ACCESS |
| bool "Use STMESP guaranteed access" |
| help |
| When enabled, accessing STMESP registers will stall if write cannot be |
| performed (e.g. ETR buffer is full). |
| |
| config LOG_FRONTEND_STMESP_MSG_END_TIMESTAMP |
| bool "Generate timestamp and marker at message end" |
| help |
| Generate a zero data byte with timestamp and marker at message end, |
| instead of generating a timestamp and marker at message start and |
| a flag at end. This can be used to maintain compatibility with |
| certain decoders. |
| |
| endif # LOG_FRONTEND_STMESP |
| |
| config LOG_FRONTEND_STMESP_DEMUX |
| bool "Demultiplexer of logging packets from STM stream" |
| select MPSC_PBUF |
| help |
| Module demultiplexes messages encoded in STPv2 stream. Messages may |
| be interleaved because they may come from multiple cores (majors). |
| There are 3 types of messages: logging, tracepoints and HW events. |
| |
| if LOG_FRONTEND_STMESP_DEMUX |
| |
| config LOG_FRONTEND_STMESP_DEMUX_ACTIVE_PACKETS |
| int "Active packets" |
| default 12 |
| |
| config LOG_FRONTEND_STMESP_DEMUX_BUFFER_SIZE |
| int "Buffer size" |
| default 1024 |
| |
| config LOG_FRONTEND_STMESP_DEMUX_MAX_UTILIZATION |
| bool "Track maximum utilization" |
| |
| config LOG_FRONTEND_STMESP_DEMUX_GC_TIMEOUT |
| int "Message timeout (in milliseconds)" |
| default 100 |
| help |
| If log message is not completed within that time frame it is discarded. |
| |
| endif # LOG_FRONTEND_STMESP_DEMUX |
| |
| config LOG_FRONTEND_STMESP_FLUSH_PORT_ID |
| def_int 0 |
| depends on LOG_FRONTEND_STMESP_DEMUX || LOG_FRONTEND_STMESP |
| |
| config LOG_FRONTEND_STMESP_TP_CHAN_BASE |
| def_int 255 |
| depends on LOG_FRONTEND_STMESP_DEMUX || LOG_FRONTEND_STMESP |
| help |
| Do not change this value as it is aligned with host decoder (nrfutil trace). |
| |
| |
| endmenu |