-
Notifications
You must be signed in to change notification settings - Fork 3
/
Kconfig
114 lines (83 loc) · 2.88 KB
/
Kconfig
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
mainmenu "plumCore configuration"
choice
prompt "Target board/device (port configuration)"
source "ports/*/Kconfig"
endchoice
# Platform configuration determines *how* is the framework code compiled
# (eg. instruction set if multiple are supported, endianness, whether
# using FPU/soft-fpu..)
source "platforms/*/Kconfig"
menu "Microkernel (scheduler & IPC) configuration"
choice
prompt "Select the scheduler and IPC implementation to use as a microkernel"
config KERNEL_FREERTOS
bool "FreeRTOS"
config KERNEL_CMRX
bool "CMRX"
endchoice
source "microkernel/*/Kconfig"
endmenu
# Services are either board and platform dependent (device drivers)
# or independent (high level drivers, communication services, etc.).
# Multiple instances of the same service can be running.
menu "Service configuration"
source "services/Kconfig"
endmenu
# The kernel and services depend on some external libraries.
# Download and patch them.
menu "Libraries"
source "lib/Kconfig"
endmenu
# System part of the framework contains the whole startup logic.
# It configures the platform, microkernel, board and lets the application
# continue with the startup.
menu "System startup and configuration"
source "system/Kconfig"
endmenu
# An application determines the particular usecase the device/board
# is used in. Theres always only a single application at a time
# running on the device. The application may specify multiple services
# to be run and even multiple instances of the same service if required.
# Applications are configurable and may contain optional components.
choice
prompt "Application configuration"
config APP_EXTERNAL
bool "Application in external directory"
menu "External application configuration"
depends on APP_EXTERNAL
# source "$(PLUMCORE_EXT_APP)/Kconfig"
endmenu
source "applications/*/Kconfig"
endchoice
# Applets are short running application or scripts usually with
# user interaction (CLI, network)
menu "Applets"
source "applets/*/Kconfig"
endmenu
# The build process itself is done in the *build* directory while
# the artifacts are moved to the *bin* directory.
menu "Build artifacts (firmware images)"
menu "Output file name format"
config OUTPUT_FILE_PREFIX
string "Generic prefix of output file names"
default "plumcore"
config OUTPUT_FILE_PORT_PREFIX
bool "Prefix port/board to output file names"
default y
config OUTPUT_FILE_APP_PREFIX
bool "Prefix application name to output file names"
default y
config OUTPUT_FILE_VERSION_SUFFIX
bool "Append the current version string to output file names"
default y
config OUTPUT_FILE_META_SUFFIX
bool "Append metadata string to output file names"
default y
endmenu
source "scripts/build_artifacts/Kconfig"
endmenu
menu "Communication settings"
config GDB_REMOTE_TARGET
string "Remote target configuration when using GDB to flash the device"
default "tcp:localhost:3333"
endmenu