blob: 22dd75fb8b250bce9cb329f720367bdd26254038 (
plain)
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
277
278
279
280
|
# vim:ft=kconfig
config IOEROOT
string
option env="IOEROOT"
source "$IOEROOT/include/mcu/Kconfig"
config F_CPU
int "CPU frequency in kHz (F_CPU)"
default 16000
---help---
Frequency CPU is running on. This must be value in kHz.
# Toolchain #####################################################################
menu "Compilation options"
config CHOST
string "AVR Compilation toolchain prefix (host)"
default "avr-"
---help---
Prefix used for all calls to compilation toolchain when compiling for AVR.
config CCFLAGS
string "AVR compilation flags"
default "-Os -ffunction-sections -fdata-sections -fshort-enums -Wall"
---help---
C compilation flags for AVR host. Its suggested to not remove defaults unless
you know what they do.
config CLDFLAGS
string "AVR linking flags"
default ""
---help---
C linking flags for AVR host.
config CBUILD
string "Building machine compilation toolchain prefix (build)"
default ""
---help---
Prefix used for all calls to compilation toolchain when compiling applications
used for compilation or testing.
config BUILD_CFLAGS
string "Bulding machine compilation flags"
default "-Wall"
---help---
C compilation flags for build.
config BUILD_LDFLAGS
string "Building machine linking flags"
default ""
---help---
C linking flags for build.
endmenu
# Error handling ################################################################
config CONFIG_ERRORS
bool "Errors support"
default y
---help---
This enables error handling. This enables some checks and allows both avr-ioe
and you program to react on errors. This doesn't handless hardware errors,
only software ones.
if CONFIG_ERRORS
menu "Errors handling"
config CONFIG_EH_RESTART
bool "Restart MCU on error detection"
default n
---help---
CPU is restarted when error is detected. This is suggested in production.
config CONFIG_EH_HANG
bool "Hang execution until manual restart on error detection"
default n
---help---
Program hangs execution when error is detected. This is suggested in
development.
config CONFIG_EH_LED
bool "Signal error detection by LED"
depends on CONFIG_IOPORTS
default n
---help---
When error is detected, specified output is pulled up. This is handy with
CONFIG_EH_HANG. If you use this with CONFIG_EH_RESTART you will probably
miss led blink.
config CONFIG_EH_LED_IOPIN
string "Error detection led output pin"
depends on CONFIG_EH_LED
default "IO_B0"
---help---
Specifies IO pin which will be pulled up on error detection.
This string should be valid IO port (for example "IO_B0") or pair of group
mask divided by comma (for example "IO_B, _BV(0)").
endmenu
config CONFIG_ERROR_MESSAGES
bool "Build with error messages"
default n
---help---
If errors should support messages. Compiling error messages to code can be
handy to finding out errors, but also makes program unnecessary big.
config CONFIG_ERROR_CALLBACK
bool "User program implements callback to be used to optionally resolve error"
default n
---help---
This allows user program to define error callback to be called just after
error is detected. This also can suppress error, but that is dangerous and
should be used only with deep understanding of what it means.
config CONFIG_CHECK_ARGUMENTS
bool "Check arguments for all functions in library"
default n
---help---
If arguments passed to functions in library should be checked and
possibly error should be risen.
endif
# IO Ports ######################################################################
config MCUSUPPORT_IOPORTS
bool
default n
config CONFIG_IOPORTS
bool "Input/Output ports"
default y
depends on MCUSUPPORT_IOPORTS
config MCUSUPPORT_PCINT0
bool
default n
config MCUSUPPORT_PCINT1
bool
default n
config MCUSUPPORT_PCINT2
bool
default n
config CONFIG_IOPORTS_PCINT
bool "Input/Output ports change interrupts"
depends on CONFIG_IOPORTS
depends on MCUSUPPORT_PCINT0 || MCUSUPPORT_PCINT1 || MCUSUPPORT_PCINT2
# SPI ###########################################################################
config MCUSUPPORT_SPI
bool
default n
config CONFIG_SPI
bool "SPI (Serial peripheral interface)"
depends on MCUSUPPORT_SPI
# USART #########################################################################
config MCUSUPPORT_USART
bool
default n
menuconfig CONFIG_USART
bool "USART (Universal synchronous/asynchronous transceiver)"
depends on MCUSUPPORT_USART
if CONFIG_USART
config CONFIG_USART_BAUD
int "Baudrate"
default 115200
choice USART_PARITY_C
prompt "Parity"
config USART_PARITY_C_NONE
bool "None"
config USART_PARITY_C_ODD
bool "Odd"
config USART_PARITY_C_EVEN
bool "Even"
endchoice
config CONFIG_USART_PARITY
string
default "USART_PARITY_NONE" if USART_PARITY_C_NONE
default "USART_PARITY_ODD" if USART_PARITY_C_ODD
default "USART_PARITY_EVEN" if USART_PARITY_C_EVEN
config CONFIG_USART_DATABITS
int "Data bits"
default 8
range 5 8
choice USART_STOPBIT_C
prompt "Stop bit"
config USART_STOPBIT_C_SINGLE
bool "Single"
config USART_STOPBIT_C_DOUBLE
bool "Double"
endchoice
config CONFIG_USART_STOPBIT
string
default "USART_STOPBIT_SINGLE" if USART_STOPBIT_C_SINGLE
default "USART_STOPBIT_DOUBLE" if USART_STOPBIT_C_DOUBLE
config CONFIG_USART_OUTPUT_BUFFER
bool "Use output buffer"
default n
config CONFIG_USART_OUTBUFFER_SIZE
int "Output buffer size in bytes." if CONFIG_USART_OUTPUT_BUFFER
default 0 if ! CONFIG_USART_OUTPUT_BUFFER
range 1 512000 if CONFIG_USART_OUTPUT_BUFFER
default 32
choice USART_OUTBUFFER_MODE_C
prompt "Output buffer replacement policy" if CONFIG_USART_OUTPUT_BUFFER
config USART_OUTBUFFER_MODE_C_BLOCK
bool "Block"
config USART_OUTBUFFER_MODE_C_OVERWRITE
bool "Overwrite"
config USART_OUTBUFFER_MODE_C_DROP
bool "Drop"
config USART_OUTBUFFER_MODE_C_ERROR
depends on CONFIG_ERRORS
bool "Error"
endchoice
config CONFIG_USART_OUTBUFFER_MODE
int
default 1 if USART_OUTBUFFER_MODE_C_OVERWRITE
default 2 if USART_OUTBUFFER_MODE_C_DROP
default 0
config CONFIG_USART_INPUT_BUFFER
bool "Use input buffer"
config CONFIG_USART_INBUFFER_SIZE
int "Input buffer size in bytes." if CONFIG_USART_INPUT_BUFFER
default 0 if ! CONFIG_USART_INPUT_BUFFER
range 1 512000 if CONFIG_USART_INPUT_BUFFER
default 32
choice USART_INBUFFER_MODE_C
prompt "Input buffer replacement policy" if CONFIG_USART_INPUT_BUFFER
config USART_INBUFFER_MODE_C_BLOCK
bool "Block"
config USART_INBUFFER_MODE_C_OVERWRITE
bool "Overwrite"
config USART_INBUFFER_MODE_C_DROP
bool "Drop"
config USART_INBUFFER_MODE_C_ERROR
depends on CONFIG_ERRORS
bool "Error"
endchoice
config CONFIG_USART_INBUFFER_MODE
int
default 1 if USART_INBUFFER_MODE_C_OVERWRITE
default 2 if USART_INBUFFER_MODE_C_DROP
default 0
config CONFIG_USART_OUTFILE
bool "STD FILE support for output"
depends on CONFIG_USART_OUTPUT_BUFFER
config CONFIG_USART_INFILE
bool "STD FILE support for input"
depends on CONFIG_USART_INPUT_BUFFER
endif
# Timers ########################################################################
config CONFIG_TIMERS
bool "Timers"
|