| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 | 
							- # Copyright (c) 2021 Nordic Semiconductor ASA
 
- # SPDX-License-Identifier: Apache-2.0
 
- menu "Backends"
 
- config LOG_BACKEND_UART
 
- 	bool "Enable UART backend"
 
- 	depends on UART_CONSOLE
 
- 	default y if !SHELL_BACKEND_SERIAL
 
- 	help
 
- 	  When enabled backend is using UART to output logs.
 
- if LOG_BACKEND_UART
 
- config LOG_BACKEND_UART_OUTPUT_DICTIONARY
 
- 	bool
 
- 	depends on LOG2
 
- 	select LOG_DICTIONARY_SUPPORT
 
- 	help
 
- 	  UART backend is in dictionary-based logging output mode.
 
- choice
 
- 	prompt "UART Backend Output Mode"
 
- 	default LOG_BACKEND_UART_OUTPUT_TEXT
 
- config LOG_BACKEND_UART_OUTPUT_TEXT
 
- 	bool "Text"
 
- 	help
 
- 	  Output in text.
 
- config LOG_BACKEND_UART_SYST_ENABLE
 
- 	bool "MIPI SyS-T"
 
- 	depends on LOG_BACKEND_UART
 
- 	depends on LOG_MIPI_SYST_ENABLE
 
- 	help
 
- 	  When enabled backend is using UART to output syst format logs.
 
- config LOG_BACKEND_UART_OUTPUT_DICTIONARY_HEX
 
- 	bool "Dictionary (hexadecimal)"
 
- 	depends on LOG2
 
- 	select LOG_BACKEND_UART_OUTPUT_DICTIONARY
 
- 	help
 
- 	  Dictionary-based logging output in hexadecimal.
 
- config LOG_BACKEND_UART_OUTPUT_DICTIONARY_BIN
 
- 	bool "Dictionary (binary)"
 
- 	depends on LOG2
 
- 	select LOG_BACKEND_UART_OUTPUT_DICTIONARY
 
- 	help
 
- 	  Dictionary-based logging output in binary.
 
- endchoice
 
- endif # LOG_BACKEND_UART
 
- config LOG_BACKEND_SWO
 
- 	bool "Enable Serial Wire Output (SWO) backend"
 
- 	depends on HAS_SWO
 
- 	help
 
- 	  When enabled, backend will use SWO for logging.
 
- if LOG_BACKEND_SWO
 
- config LOG_BACKEND_SWO_FREQ_HZ
 
- 	int "Set SWO output frequency"
 
- 	default 0
 
- 	help
 
- 	  Set SWO output frequency. Value 0 will select maximum frequency
 
- 	  supported by the given MCU. Not all debug probes support high
 
- 	  frequency SWO operation. In this case the frequency has to be set
 
- 	  manually.
 
- 	  SWO value defined by this option will be configured at boot. Most SWO
 
- 	  viewer programs will configure SWO frequency when attached to the
 
- 	  debug probe. Such configuration will persist only until the device
 
- 	  reset. To ensure flawless operation the frequency configured here and
 
- 	  by the SWO viewer program has to match.
 
- config LOG_BACKEND_SWO_SYST_ENABLE
 
- 	bool "Enable SWO syst backend"
 
- 	depends on LOG_MIPI_SYST_ENABLE
 
- 	help
 
- 	  When enabled backend is using SWO to output syst format logs.
 
- endif # LOG_BACKEND_SWO
 
- config LOG_BACKEND_RTT
 
- 	bool "Enable Segger J-Link RTT backend"
 
- 	depends on USE_SEGGER_RTT
 
- 	default y if !SHELL_BACKEND_RTT
 
- 	select SEGGER_RTT_CUSTOM_LOCKING
 
- 	help
 
- 	  When enabled, backend will use RTT for logging. This backend works on a per
 
- 	  message basis. Only a whole message (terminated with a carriage return: '\r')
 
- 	  is transferred to up-buffer at once depending on available space and
 
- 	  selected mode.
 
- 	  In panic mode backend always blocks and waits until there is space
 
- 	  in up-buffer for a message and message is transferred to host.
 
- if LOG_BACKEND_RTT
 
- choice
 
- 	prompt "Logger behavior"
 
- 	default LOG_BACKEND_RTT_MODE_BLOCK
 
- config LOG_BACKEND_RTT_MODE_DROP
 
- 	bool "Drop messages that do not fit in up-buffer."
 
- 	help
 
- 	  If there is not enough space in up-buffer for a message, drop it.
 
- 	  Number of dropped messages will be logged.
 
- 	  Increase up-buffer size helps to reduce dropping of messages.
 
- config LOG_BACKEND_RTT_MODE_BLOCK
 
- 	bool "Block until message is transferred to host."
 
- 	help
 
- 	  Waits until there is enough space in the up-buffer for a message.
 
- config LOG_BACKEND_RTT_SYST_ENABLE
 
- 	bool "Enable RTT syst backend"
 
- 	depends on LOG_MIPI_SYST_ENABLE
 
- 	help
 
- 	  When enabled backend is using RTT to output syst format logs.
 
- endchoice
 
- config LOG_BACKEND_RTT_MESSAGE_SIZE
 
- 	int "Size of internal buffer for storing messages."
 
- 	range 32 256
 
- 	default 128
 
- 	depends on LOG_BACKEND_RTT_MODE_DROP
 
- 	help
 
- 	  This option defines maximum message size transferable to up-buffer.
 
- if LOG_BACKEND_RTT_MODE_BLOCK
 
- config LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE
 
- 	int "Size of the output buffer"
 
- 	default 16
 
- 	help
 
- 	  Buffer is used by log_output module for preparing output data (e.g.
 
- 	  string formatting).
 
- config LOG_BACKEND_RTT_RETRY_CNT
 
- 	int "Number of retries"
 
- 	default 4
 
- 	help
 
- 	  Number of TX retries before dropping the data and assuming that
 
- 	  RTT session is inactive.
 
- config LOG_BACKEND_RTT_RETRY_DELAY_MS
 
- 	int "Delay between TX retries in milliseconds"
 
- 	default 5
 
- 	help
 
- 	  Sleep period between TX retry attempts. During RTT session, host pulls
 
- 	  data periodically. Period starts from 1-2 milliseconds and can be
 
- 	  increased if traffic on RTT increases (also from host to device). In
 
- 	  case of heavy traffic data can be lost and it may be necessary to
 
- 	  increase delay or number of retries.
 
- endif # LOG_BACKEND_RTT_MODE_BLOCK
 
- config LOG_BACKEND_RTT_BUFFER
 
- 	int "Buffer number used for logger output."
 
- 	range 0 SEGGER_RTT_MAX_NUM_UP_BUFFERS
 
- 	default 0
 
- 	help
 
- 	  Select index of up-buffer used for logger output, by default it uses
 
- 	  terminal up-buffer and its settings.
 
- config LOG_BACKEND_RTT_BUFFER_SIZE
 
- 	int "Size of reserved up-buffer for logger output."
 
- 	default 1024
 
- 	depends on LOG_BACKEND_RTT_BUFFER > 0
 
- 	help
 
- 	  Specify reserved size of up-buffer used for logger output.
 
- # Enable processing of printk calls using log if terminal buffer is used.
 
- # Same buffer is used by RTT console. If printk would go through RTT console
 
- # that will lead to corruption of RTT data which is not protected against being
 
- # interrupted by an interrupt.
 
- config LOG_BACKEND_RTT_FORCE_PRINTK
 
- 	bool
 
- 	default y if LOG_BACKEND_RTT_BUFFER = 0 && RTT_CONSOLE
 
- 	select LOG_PRINTK
 
- endif # LOG_BACKEND_RTT
 
- config LOG_BACKEND_SPINEL
 
- 	bool "Enable OpenThread dedicated Spinel protocol backend"
 
- 	depends on !LOG_BACKEND_UART
 
- 	depends on NET_L2_OPENTHREAD
 
- 	help
 
- 	  When enabled, backend will use OpenThread dedicated SPINEL protocol for logging.
 
- 	  This protocol is byte oriented and wrapps given messages into serial frames.
 
- 	  Backend should be enabled only to OpenThread purposes and when UART backend is disabled
 
- 	  or works on antoher UART device to avoid interference.
 
- if LOG_BACKEND_SPINEL
 
- config LOG_BACKEND_SPINEL_BUFFER_SIZE
 
- 	int "Size of reserved up-buffer for logger output."
 
- 	default 64
 
- 	help
 
- 	  Specify reserved size of up-buffer used for logger output.
 
- endif # LOG_BACKEND_SPINEL
 
- config LOG_BACKEND_NATIVE_POSIX
 
- 	bool "Enable native backend"
 
- 	depends on ARCH_POSIX
 
- 	help
 
- 	  Enable backend in native_posix
 
- config LOG_BACKEND_XTENSA_SIM
 
- 	bool "Enable xtensa simulator backend"
 
- 	depends on SOC_XTENSA_SAMPLE_CONTROLLER || SOC_FAMILY_INTEL_ADSP
 
- 	help
 
- 	  Enable backend in xtensa simulator
 
- config LOG_BACKEND_XTENSA_OUTPUT_BUFFER_SIZE
 
- 	int "Size of the output buffer"
 
- 	default 16
 
- 	depends on LOG_BACKEND_XTENSA_SIM
 
- 	help
 
- 	  Buffer is used by log_output module for preparing output data (e.g.
 
- 	  string formatting).
 
- # Immediate mode cannot be used with network backend as it would cause the sent
 
- # rsyslog message to be malformed.
 
- config LOG_BACKEND_NET
 
- 	bool "Enable networking backend"
 
- 	depends on NETWORKING && NET_UDP && !LOG_IMMEDIATE
 
- 	select NET_CONTEXT_NET_PKT_POOL
 
- 	help
 
- 	  Send syslog messages to network server.
 
- 	  See RFC 5424 (syslog protocol) and RFC 5426 (syslog over UDP)
 
- 	  specifications for details.
 
- if LOG_BACKEND_NET
 
- config LOG_BACKEND_NET_SERVER
 
- 	string "Syslog server IP address"
 
- 	help
 
- 	  This can be either IPv4 or IPv6 address.
 
- 	  Server listen UDP port number can be configured here too.
 
- 	  Following syntax is supported:
 
- 	  192.0.2.1:514
 
- 	  192.0.2.42
 
- 	  [2001:db8::1]:514
 
- 	  [2001:db8::2]
 
- 	  2001:db::42
 
- config LOG_BACKEND_NET_MAX_BUF
 
- 	int "How many network buffers to allocate for sending messages"
 
- 	range 3 256
 
- 	default 3
 
- 	help
 
- 	  Each syslog message should fit into a network packet that will be
 
- 	  sent to server. This number tells how many syslog messages can be
 
- 	  in transit to the server.
 
- config LOG_BACKEND_NET_MAX_BUF_SIZE
 
- 	int "Max syslog message size"
 
- 	range 64 1180
 
- 	default 1180 if NET_IPV6
 
- 	default 480 if NET_IPV4
 
- 	default 256
 
- 	help
 
- 	  As each syslog message needs to fit to UDP packet, set this value
 
- 	  so that messages are not truncated.
 
- 	  The RFC 5426 recommends that for IPv4 the size is 480 octets and for
 
- 	  IPv6 the size is 1180 octets. As each buffer will use RAM, the value
 
- 	  should be selected so that typical messages will fit the buffer.
 
- config LOG_BACKEND_NET_SYST_ENABLE
 
- 	bool "Enable networking syst backend"
 
- 	depends on LOG_MIPI_SYST_ENABLE
 
- 	help
 
- 	  When enabled backend is using networking to output syst format logs.
 
- config LOG_BACKEND_NET_AUTOSTART
 
- 	bool "Automatically start networking backend"
 
- 	default y if NET_CONFIG_NEED_IPV4 || NET_CONFIG_NEED_IPV6
 
- 	help
 
- 	  When enabled automatically start the networking backend on
 
- 	  application start. If no routes to the logging server are available
 
- 	  on application startup, this must be set to n and the backend must be
 
- 	  started by the application later on. Otherwise the logging
 
- 	  thread might block.
 
- endif # LOG_BACKEND_NET
 
- config LOG_BACKEND_ADSP
 
- 	bool "Enable Intel ADSP buffer backend"
 
- 	depends on SOC_FAMILY_INTEL_ADSP
 
- 	help
 
- 	  Enable backend for the host trace protocol of the Intel ADSP
 
- 	  family of audio processors
 
- config LOG_BACKEND_FS
 
- 	bool "Enable file system backend"
 
- 	depends on FILE_SYSTEM
 
- 	help
 
- 	  When enabled, backend is using the configured file system to output logs.
 
- 	  As the file system must be mounted for the logging to work, it must be
 
- 	  either configured for auto-mount or manually mounted by the application.
 
- 	  Log messages are discarded as long as the file system is not mounted.
 
- if LOG_BACKEND_FS
 
- config LOG_BACKEND_FS_OUTPUT_DICTIONARY
 
- 	bool
 
- 	depends on LOG2
 
- 	select LOG_DICTIONARY_SUPPORT
 
- 	help
 
- 	  FS backend is in dictionary-based logging output mode.
 
- choice
 
- 	prompt "FS Backend Output Mode"
 
- 	default LOG_BACKEND_FS_OUTPUT_TEXT
 
- config LOG_BACKEND_FS_OUTPUT_TEXT
 
- 	bool "Text"
 
- 	help
 
- 	  Output in text.
 
- config LOG_BACKEND_FS_OUTPUT_DICTIONARY_BIN
 
- 	bool "Dictionary (binary)"
 
- 	depends on LOG2
 
- 	select LOG_BACKEND_FS_OUTPUT_DICTIONARY
 
- 	help
 
- 	  Dictionary-based logging output in binary.
 
- endchoice
 
- config LOG_BACKEND_FS_OVERWRITE
 
- 	bool "Enable old log files overwrite"
 
- 	default y
 
- 	help
 
- 	  When enabled backend overwrites oldest log files.
 
- 	  In other case, when memory is full, new messages are dropped.
 
- config LOG_BACKEND_FS_FILE_PREFIX
 
- 	string "Log file name prefix"
 
- 	default "log."
 
- 	help
 
- 	  User defined name of log files saved in the file system.
 
- 	  The prefix is followed by the number of log file.
 
- config LOG_BACKEND_FS_DIR
 
- 	string "Log directory"
 
- 	default "/lfs1"
 
- 	help
 
- 	  Directory to which log files will be written.
 
- config LOG_BACKEND_FS_FILE_SIZE
 
- 	int "User defined log file size"
 
- 	default 4096
 
- 	range 128 1073741824
 
- 	help
 
- 	  Max log file size (in bytes).
 
- config LOG_BACKEND_FS_FILES_LIMIT
 
- 	int "Max number of files containing logs"
 
- 	default 10
 
- 	help
 
- 	  Limit of number of files with logs. It is also limited by
 
- 	  size of file system partition.
 
- endif # LOG_BACKEND_FS
 
- endmenu
 
 
  |