From 171e8e92686ac65e8f9a2962a975e6863c791a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 8 Mar 2017 22:16:16 +0100 Subject: Shakeout of makefiles and Kconfigs --- ioe.Kconfig | 280 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 ioe.Kconfig (limited to 'ioe.Kconfig') diff --git a/ioe.Kconfig b/ioe.Kconfig new file mode 100644 index 0000000..22dd75f --- /dev/null +++ b/ioe.Kconfig @@ -0,0 +1,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" -- cgit v1.2.3