blob: cf34e7fc498c3caa34668b87f26de4dd8570e38c [file] [log] [blame]
# Copyright Runtime.io 2018. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
config MCUMGR
bool "mcumgr Support"
select NET_BUF
select TINYCBOR
help
This option enables the mcumgr management library.
if MCUMGR
module = MCUMGR
module-str = mcumgr
source "subsys/logging/Kconfig.template.log_config"
config MGMT_CBORATTR_MAX_SIZE
int "The maximum size of a CBOR attribute during decoding"
default 512
help
The maximum size of a CBOR attribute during decoding
menu "Command Handlers"
menuconfig MCUMGR_CMD_FS_MGMT
bool "Enable mcumgr handlers for file management"
depends on FILE_SYSTEM
help
Enables mcumgr handlers for file management
if MCUMGR_CMD_FS_MGMT
choice FS_MGMT_MAX_FILE_SIZE
prompt "Maximum file size that could be uploaded/downloaded"
default FS_MGMT_MAX_FILE_SIZE_64KB
help
Maximum file size that will be allowed to be downloaded from
device.
This option decides on number of bytes that are reserved in
CBOR frame for storage of offset/size of file downloaded.
config FS_MGMT_MAX_FILE_SIZE_64KB
bool "<= 64KB"
help
Files that have size up to 64KB require 1 to 3 bytes to encode
size/offset within CBOR frame with file chunk.
config FS_MGMT_MAX_FILE_SIZE_4GB
bool "<= 4GB"
help
Files that have size up to 4GB require 1 to 5 bytes to encode
size/offset within CBOR frame with file chunk.
endchoice
config FS_MGMT_MAX_OFFSET_LEN
int
default 3 if FS_MGMT_MAX_FILE_SIZE_64KB
default 5 if FS_MGMT_MAX_FILE_SIZE_4GB
help
Maximal byte length of encoded offset/size, within transferred
CBOR frame containing chunk of downloaded file.
This value affects how much of data will fit into download buffer,
as it selects sizes of fields within headers.
NOTE: This option is hidden intentionally as it is intended
to be assigned from limited set of allowed values, depending on
the selection made in FS_MGMT_MAX_FILE_SIZE menu.
config FS_MGMT_UL_CHUNK_SIZE
int "Maximum chunk size for file uploads"
default 512
help
Limits the maximum chunk size for file uploads, in bytes. A buffer of
this size gets allocated on the stack during handling of a file upload command.
config FS_MGMT_DL_CHUNK_SIZE_LIMIT
bool "Enable setting custom size of download file chunk"
help
By default file chunk, that will be read off storage and fit into
mcumgr frame, is automatically calculated to fit into buffer
of size MCUGMR_BUF_SIZE with all headers.
Enabling this option allows to set MAXIMUM value that will be
allowed for such chunk.
Look inside fs_mgmt_config.h for details.
if FS_MGMT_DL_CHUNK_SIZE_LIMIT
config FS_MGMT_DL_CHUNK_SIZE
int "Maximum chunk size for file downloads"
range 65 MCUMGR_BUF_SIZE
default MCUMGR_BUF_SIZE
help
Sets the MAXIMUM size of chunk which will be rounded down to
number of bytes that, with all the required headers, will fit
into MCUMGR_BUF_SIZE. This means that actual value might be lower
then selected, in which case compiler warning will be issued.
Look inside fs_mgmt_config.h for details.
Note that header sizes are affected by FS_MGMT_MAX_OFFSET_LEN.
endif
config FS_MGMT_PATH_SIZE
int "Maximum file path length"
default 64
help
Limits the maximum path length for file operations, in bytes. A buffer
of this size gets allocated on the stack during handling of file upload
and download commands.
endif
menuconfig MCUMGR_CMD_IMG_MGMT
bool "Enable mcumgr handlers for image management"
select FLASH
select MPU_ALLOW_FLASH_WRITE if CPU_HAS_MPU
select IMG_MANAGER
help
Enables mcumgr handlers for image management
if MCUMGR_CMD_IMG_MGMT
config IMG_MGMT_UL_CHUNK_SIZE
int "Maximum chunk size for image uploads"
default 512
depends on MCUMGR_CMD_IMG_MGMT
help
Limits the maximum chunk size for image uploads, in bytes. A buffer of
this size gets allocated on the stack during handling of a image upload
command.
config IMG_MGMT_VERBOSE_ERR
bool "Verbose logging when uploading a new image"
help
Enable verbose logging during a firmware upgrade.
config IMG_MGMT_DUMMY_HDR
bool "Return dummy image header data for imgr functions"
help
Returns dummy image header data for imgr functions,
useful when there are no images present, Eg: unit tests.
endif
menuconfig MCUMGR_CMD_LOG_MGMT
bool "Enable mcumgr handlers for log management"
help
Enables mcumgr handlers for log management
if MCUMGR_CMD_LOG_MGMT
config LOG_MGMT_CHUNK_LEN
int "Maximum chunk size for log downloads"
default 512
help
Limits the maximum chunk size for log downloads, in bytes. A buffer of
this size gets allocated on the stack during handling of the log show
command.
config LOG_MGMT_NAME_LEN
int "Maximum log name length"
default 64
help
Limits the maximum length of log names, in bytes. If a log's name length
exceeds this number, it gets truncated in management responses. A buffer
of this size gets allocated on the stack during handling of all log
management commands.
config LOG_MGMT_BODY_LEN
int "Maximum log body length"
default 128
help
Limits the maximum length of log entry bodies, in bytes. If a log
entry's body length exceeds this number, it gets truncated in management
responses. A buffer of this size gets allocated on the stack during
handling of the log show command.
config LOG_READ_WATERMARK_UPDATE
bool "Enable reading of log watermark update"
help
Enables reading of log watermark update.
endif
menuconfig MCUMGR_CMD_OS_MGMT
bool "Enable mcumgr handlers for OS management"
select REBOOT
help
Enables mcumgr handlers for OS management
if MCUMGR_CMD_OS_MGMT
config OS_MGMT_RESET_MS
int "Delay before executing reset command (ms)"
default 250
help
When a reset command is received, the system waits this many milliseconds
before performing the reset. This delay allows time for the mcumgr
response to be delivered.
config OS_MGMT_TASKSTAT
bool "Support for taskstat command"
default y
config OS_MGMT_ECHO
bool "Support for echo command"
default y
endif
menuconfig MCUMGR_CMD_STAT_MGMT
bool "Enable mcumgr handlers for statistics management"
depends on STATS
help
Enables mcumgr handlers for statistics management.
config STAT_MGMT_MAX_NAME_LEN
int "Maximum stat group name length"
default 32
depends on MCUMGR_CMD_STAT_MGMT
help
Limits the maximum stat group name length in mcumgr requests, in bytes.
A buffer of this size gets allocated on the stack during handling of all
stat read commands. If a stat group's name exceeds this limit, it will
be impossible to retrieve its values with a stat show command.
endmenu
config APP_LINK_WITH_MCUMGR
bool "Link 'app' with MCUMGR"
default y
help
Add MCUMGR header files to the 'app' include path. It may be
disabled if the include paths for MCUMGR are causing aliasing
issues for 'app'.
endif