Skip to content
Snippets Groups Projects
Kconfig 4.33 KiB
Newer Older

mainmenu "WR PTP Core software configuration"

config RAMSIZE
       int "Size of the RAM in the FPGA for this program"
       default 90112
       help
         The usual configuration for wrpc-sw is 0x16000 bytes
	 (i.e. 88kB = 90112 bytes) but if your project has less or
	 more features you may want to adjust the FPGA size and
	 choose your preferred value here.

Aurelio Colosimo's avatar
Aurelio Colosimo committed
choice
       prompt "Choose your preferred ptp engine"
       default PTP_NOPOSIX

config PTP_NOPOSIX
       boolean "ptp-noposix"
       help
	 Select this option for the ptp-noposix engine

config PPSI
       boolean "ppsi"
       help
	 Select this option for the ppsi engine. Warning: this option is
	 work in progress, may not work or not compile at all.

endchoice

config CHECK_RESET
	bool "Print a stack trace if reset happens"
	help
	  If the CPU is following a NULL pointer, the program will
	  be restarted. If this option is activated, the main function
	  detects that it is re-executed and dumps a stack trace; it
	  then clears the stack (for next time) and restarts again.

Aurelio Colosimo's avatar
Aurelio Colosimo committed
config PPSI_VERBOSITY
	depends on PPSI
	int "Default verbosity for PPSI"
	help
	  This option makes you select the verbosity of PPSI at startup:
	  0 means silent
	  1 means normal verbosity messages
	  2 means more verbose messages
	default 0
	range 0 2

config PPSI_RUNTIME_VERBOSITY
       depends on PPSI
       boolean "Enable runtime verbosity setting"
Aurelio Colosimo's avatar
Aurelio Colosimo committed
       help
         If set, this option permits to change the verbosity of PPSI engine
         runtime. This causes a bigger RAM occupation, so it is suggested
         to set it only for debugging purpose.

config STACKSIZE
       int "Size of the stack area needed by this program"
Aurelio Colosimo's avatar
Aurelio Colosimo committed
       default 3584 if PPSI
       default 2048
       help
         The linker complains if the code doesn't fit into RAM, but
	 we must also consider the stack, or the program will crash
	 badly at run time.

config PP_PRINTF
       boolean
choice
	prompt "Implementation of pp_printf"
	depends on PP_PRINTF
	default PRINTF_XINT

config PRINTF_FULL
 	bool "full"
	help
	  This selects an implementation that supports all standard
	  formats with modifiers, like "%08X" and "%.5s". It costs
	  around 2k of compiled code more than XINT.
	  See pp_printf/README for details.

config PRINTF_XINT
 	bool "hex-and-int"
	help
	  This selects a printf that can only print decimal and hex
	  numbers, without obeying the format modifiers. %c and %s are
	  supported too, and %p is equivalente to %x.
	  See pp_printf/README for details.

config PRINTF_MINI
 	bool "minimal"
	help
	  This selects a printf that prints all integers as hex,
	  without obeying the format modifiers. %c and %s are
	  supported too. See pp_printf/README for details.
	  This is not probably what you want for wrpc-sw.

config PRINTF_NONE
 	bool "empty"
	help
	  This selects a printf that prints the format string
	  alone and ignores all further arguments. Minimal size,
	  but not suited for wrpc-sw. See pp_printf/README for details.
endchoice


config PRINT_BUFSIZE
       depends on PP_PRINTF
       int "Size for the temporary output string of pp_printf"
       default 128

config ETHERBONE
	boolean "Compile Etherbone support in wrpc-sw"
	help
	  This allows to run LM32 code that is aware of Etherbone.
	  You need to run a gateware file that includes Etherbone support.
	  If in doubt, say No.

config DETERMINISTIC_BINARY
       boolean "Build a binary that is the same every time"
       help
         This option is used to #ifdef __DATE__ and __TIME__ strings
	 out of the compiled WRC binary. If you set it you'll get the
	 same binary bit-by-bit at each rebuild.  I am using this
	 option to hack the build procedure and use a simple "diff"
	 between the old and new output to verify I didn't introduce
	 changes.

	 If in doubt, say No.
config CMD_CONFIG
	boolean "Include configuration in the output binary"
	help
	  This options adds the "config" command to the shell, which
	  reports the current configuration.  This adds half a kilobyte
	  to the binary size (100b for the code plus the .config file).

config UART_SW
	boolean "Use software uart (not the hardware one)"
	help
	  The software uart is made up of two circular buffers. They
	  waste some RAM but allow to avoid the USB cable.  Software
	  uarts can be accessed using tools/wrpc-uart-sw.

config UART
       boolean
       default !UART_SW