forked from project-ocre/ocre-runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKconfig
More file actions
276 lines (227 loc) · 6.72 KB
/
Kconfig
File metadata and controls
276 lines (227 loc) · 6.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
menu "Project Ocre options"
source "Kconfig.zephyr"
config OCRE
bool "Project Ocre"
default y
help
Enable the Project Ocre runtime.
select PRINTK
select EVENTS
select EVENTFD
select FLASH
select FLASH_MAP
select FLASH_PAGE_LAYOUT
select FILE_SYSTEM
select FILE_SYSTEM_LITTLEFS
select REBOOT
select SETTINGS
select SETTINGS_RUNTIME
select NETWORKING
select NET_SOCKETS
select NET_CONNECTION_MANAGER
select NET_UDP
select SMF
select SMF_ANCESTOR_SUPPORT
select SMF_INITIAL_TRANSITION
# Enable the WASM Micro Runtime
select WAMR
config OCRE_WAMR_HEAP_BUFFER_SIZE
int "WAMR heap buffer size in bytes"
default 32768
help
A static memory allocation for WAMR to use as a heap.
config OCRE_STORAGE_HEAP_BUFFER_SIZE
int "Storage heap buffer size in bytes"
default 500000
depends on MEMC
help
A static memory allocation for container storage to use as a heap.
config OCRE_CONTAINER_DEFAULT_HEAP_SIZE
int "Default value for the container heap size"
default 4096
help
The default value used for a container's heap size.
config OCRE_CONTAINER_DEFAULT_STACK_SIZE
int "Default value for the container stack size"
default 2048
help
The default value used for a container's stack size.
config OCRE_LOG_DEBUG
bool "Debug logging"
default n
help
Enable Ocre debug logging
config OCRE_LOG_ERR
bool "Error logging"
default n
help
Enable Ocre debug logging
config OCRE_LOG_WARN
bool "Warn logging"
default n
help
Enable Ocre debug logging
config OCRE_LOG_INF
bool "Info logging"
default n
help
Enable Ocre debug logging
if OCRE
module = OCRE
module-str = OCRE
source "subsys/logging/Kconfig.template.log_config"
endif
config OCRE_SENSORS
bool "Enable OCRE Sensors support"
default n
depends on SENSOR
help
Enable support for OCRE sensors
config RNG_SENSOR
bool "RNG Sensor"
default n
depends on OCRE_SENSORS
help
Enable support for the custom RNG sensor.
config OCRE_WAMR_HEAP_BUFFER_SIZE
int "WAMR heap buffer size in bytes"
default 32768
help
A static memory allocation for WAMR to use as a heap.
config OCRE_CONTAINER_DEFAULT_HEAP_SIZE
int "Default value for the container heap size"
default 4096
help
The default value used for a container's heap size.
config OCRE_CONTAINER_DEFAULT_STACK_SIZE
int "Default value for the container stack size"
default 2048
help
The default value used for a container's stack size.
config MAX_CONTAINERS
int "Maximum concurrent containers"
default 10
help
The default value for maximum number of container's.
config MAX_TIMERS
int "Maximum number of timers"
default 5
help
Defines the maximum number of timers available in the system.
config MAX_SENSORS
int "Maximum number of sensors"
default 10
help
Defines the maximum number of sensors that can be handled.
config MAX_CHANNELS_PER_SENSOR
int "Maximum number of channels per sensor"
default 5
help
Defines the maximum number of channels that each sensor can have.
config OCRE_MEMORY_CHECK_ENABLED
bool "Enable memory availability checking for containers"
default y
help
Enable runtime memory checks before creating containers
config OCRE_GPIO
bool "OCRE GPIO Driver"
default y
help
Enable the OCRE GPIO driver that provides a portable API layer
for GPIO operations across different hardware platforms.
config OCRE_TIMER
bool "OCRE Timer Driver"
default y
help
Enable the OCRE Timer driver that provides a portable API layer
for Timer operations across different hardware platforms.
config OCRE_GPIO_MAX_PINS
int "Maximum number of GPIO pins"
default 32
help
Maximum number of GPIO pins that can be managed by the OCRE GPIO driver.
config OCRE_GPIO_MAX_PORTS
int "Maximum number of GPIO ports"
default 4
help
Maximum number of GPIO port devices that can be used by the OCRE GPIO driver.
config OCRE_GPIO_PINS_PER_PORT
int "Number of pins per GPIO port"
default 32
help
Number of pins available on each GPIO port. This is used to map the
logical pin numbers to physical port and pin numbers.
config OCRE_CONTAINER_MESSAGING
bool "Enable OCRE Container Messaging support"
default n
help
Enable support for OCRE Container Messaging
config MESSAGING_MAX_SUBSCRIPTIONS
int "Number of maximum subscriptions for Container Messaging"
default 10
depends on OCRE_CONTAINER_MESSAGING
help
Number of maximum subscriptions for Container Messaging
config OCRE_CONTAINER_FILESYSTEM
bool "Enable OCRE Container File System support"
default n
help
Enable support for containers to access the flash filesystem
config OCRE_SHELL
bool "Enable OCRE Shell"
default y
help
Enable the OCRE Shell for dynamic configuration management.
config IMU_SENSOR
bool "IMU Sensor"
default n
depends on OCRE_SENSORS
help
Enable support for the custom IMU sensor.
config OCRE_NETWORKING
bool "Enable container networking support"
default n
help
Enable networking support for containers.
config OCRE_SHARED_HEAP
bool "Enable container shared heap support"
default n
help
Enable shared heap support for containers.
config OCRE_SHARED_HEAP_BUF_SIZE
int "Shared heap buffer size in bytes"
default 65536
depends on OCRE_SHARED_HEAP
help
Size of the pre-allocated buffer for the shared heap.
This memory is shared between WebAssembly modules.
choice OCRE_SHARED_HEAP_MODE
prompt "Shared heap mode"
depends on OCRE_SHARED_HEAP
default OCRE_SHARED_HEAP_BUF_VIRTUAL
help
Select the shared heap memory mode:
- Physical: Map physical hardware registers (e.g., GPIO) to WASM address space
- Virtual: Allocate shared heap from regular RAM
config OCRE_SHARED_HEAP_BUF_PHYSICAL
bool "Physical (hardware register mapping)"
help
Enable physical memory mapping for hardware access.
Maps physical hardware registers (like GPIO at 0x42020000) to WASM address space.
Use this when containers need direct access to hardware peripherals.
config OCRE_SHARED_HEAP_BUF_VIRTUAL
bool "Virtual (RAM allocation)"
help
Enable virtual shared heap allocated from regular RAM.
Use this for normal inter-module communication without
direct hardware access.
endchoice
config OCRE_SHARED_HEAP_BUF_ADDRESS
hex "Shared heap buffer address"
default 0x00
depends on OCRE_SHARED_HEAP
help
Shared heap buffer address.
- For physical mode: Physical address of hardware registers
- For virtual mode: Leave as 0x00 to auto-allocate from RAM
endmenu