1# Copyright (c) 2023 Yonatan Schachter
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig BINDESC
5	bool "Binary Descriptors"
6	depends on ARCH_SUPPORTS_ROM_START || ARCH_POSIX
7	help
8	  Binary Descriptors - constant data accessible outside of the executable image
9
10if BINDESC
11
12config BINDESC_DEFINE
13	bool "Binary Descriptors Define"
14	help
15	  Enable the app to define its own binary descriptors
16
17if BINDESC_DEFINE
18
19source "subsys/bindesc/Kconfig.version"
20source "subsys/bindesc/Kconfig.build_time"
21source "subsys/bindesc/Kconfig.host_info"
22
23config BINDESC_DEFINE_MAX_DATA_SIZE
24	int "Bindesc max data size"
25	range 4 $(UINT16_MAX)
26	default 128
27	help
28	  Determines the maximum size of a binary descriptor's data. The theoretical
29	  limit to this value is the maximum value of a uint16_t (65535), in practice
30	  it's recommened to keep this value much smaller for easier handling of the data.
31
32endif # BINDESC_DEFINE
33
34config BINDESC_READ
35	bool "Binary Descriptors Read"
36	help
37	  Enable the app to read the binary descriptors of another image
38
39if BINDESC_READ
40
41module = BINDESC_READ
42module-str = Binary Descriptor read
43source "subsys/logging/Kconfig.template.log_config"
44
45config BINDESC_READ_RAM
46	bool "Bindesc read from RAM"
47	help
48	  Enable reading and parsing binary descriptors from RAM.
49
50config BINDESC_READ_MEMORY_MAPPED_FLASH
51	bool "Bindesc read from memory mapped flash"
52	help
53	  Enable reading and parsing binary descriptors from memory mapped flash.
54
55config BINDESC_READ_FLASH
56	bool "Bindesc read from flash"
57	help
58	  Enable reading and parsing binary descriptors from non memory mapped flash
59	  (e.g. external flash).
60
61if BINDESC_READ_FLASH
62
63config BINDESC_READ_FLASH_MAX_DATA_SIZE
64	int "Bindesc read flash max data size"
65	range 4 $(UINT16_MAX)
66	default 128
67	help
68	  The maximum expected size of the descriptors' data. This should be set to
69	  the value set to BINDESC_DEFINE_MAX_DATA_SIZE by the read image.
70	  Any descriptor that exceeds this size will be ignored.
71
72endif # BINDESC_READ_FLASH
73
74endif # BINDESC_READ
75
76endif # BINDESC
77