
package genconfig

configuration conf {
	include embox.arch.system(core_freq=8000000)
	include embox.arch.arm.armmlib.locore
	include embox.arch.arm.armmlib.exception_entry(irq_stack_size=224)
	include embox.arch.arm.armmlib.cpu_idle
	include embox.arch.arm.libarch
	include embox.arch.arm.fpu.fpu_stub

	include platform.efm32.efm32zg_stk3200.bsp
	
	@Runlevel(1) include embox.driver.interrupt.cmsis_nvic
	@Runlevel(1) include embox.driver.clock.cmsis_systick
	include embox.kernel.time.jiffies(cs_name="cmsis_systick")
	
	@Runlevel(1) include embox.driver.serial.efm32_leuart
	@Runlevel(1) include embox.driver.diag(impl="embox__driver__serial__efm32_leuart")
	include embox.driver.serial.core_notty
	
	@Runlevel(1) include embox.driver.gpio.efm32_gpio
	@Runlevel(1) include embox.driver.video.efm32_lcd(start_with_logo=1)
	include platform.efm32.efm32zg_stk3200.demo.embox_logo_mono_128x128
	
	include embox.device.common(device_name_len=1, max_dev_module_count=0)
	include embox.compat.libc.stdio.file_pool(file_quantity=0)
	
	include embox.kernel.stack(stack_size=448,alignment=4)
	include embox.kernel.critical
	include embox.kernel.irq_static
	include embox.kernel.spinlock(spin_debug=false)
	include embox.kernel.task.single
	include embox.kernel.task.resource.idesc_table(idesc_table_size=3)
	include embox.kernel.task.task_no_table

	@Runlevel(1) include embox.kernel.timer.sys_timer(timer_quantity=1)
	@Runlevel(1) include embox.kernel.timer.strategy.head_timer
	@Runlevel(1) include embox.kernel.time.kernel_time
	@Runlevel(1) include embox.kernel.timer.itimer(itimer_quantity=0)
	include embox.kernel.timer.sleep_nosched

	include embox.driver.tty.task_breaking_disable
	include embox.fs.driver.devfs_stub

	/* Cooperative-only scheduling */
	@Runlevel(2) include embox.kernel.sched.boot_light
	@Runlevel(2) include embox.kernel.sched.timing.none

	include embox.cmd.help
	include embox.cmd.sys.version
	include embox.cmd.hardware.pin

	include embox.lib.Tokenizer
	include embox.init.setup_tty_diag
	//@Runlevel(2) include embox.cmd.shell
	//@Runlevel(3) include embox.init.start_script(shell_name="diag_shell")
	@Runlevel(3) include embox.init.system_start_service(cmd_max_len=32, cmd_max_argv=6)

	include embox.kernel.thread.thread_none
	include embox.kernel.thread.thread_local_none
	include embox.kernel.thread.thread_cancel_disable
	include embox.kernel.thread.stack_none
	include embox.kernel.thread.signal_stub

	@Runlevel(1) include embox.kernel.lthread.lthread
	@Runlevel(2) include embox.kernel.sched.sched
	@Runlevel(2) include embox.kernel.sched.idle_light
	@Runlevel(2) include embox.kernel.sched.sched_ticker_stub
	@Runlevel(2) include embox.kernel.sched.strategy.priority_based
	//@Runlevel(2) include embox.kernel.sched.strategy.trivial

	include embox.driver.periph_memory_stub

	include embox.lib.libds
	include embox.framework.mod(
		use_mod_depends=false,
		use_mod_labels=false,
		use_mod_logger=false,
		use_mod_names=false,
		use_cmd_details=false)	
	include embox.compat.libc.stdio.print(support_floating=0)
	include embox.compat.posix.util.time
	include embox.compat.libc.str(strerror_short=true)
	include embox.compat.libc.stdio.scanf_without_file
	include embox.compat.posix.util.sleep
}
