diff --git a/examples/hidkbd/Kconfig b/examples/hidkbd/Kconfig index 81f817ef9..011383b9a 100644 --- a/examples/hidkbd/Kconfig +++ b/examples/hidkbd/Kconfig @@ -6,6 +6,7 @@ config EXAMPLES_HIDKBD bool "USB HID keyboard example" default n + depends on !BUILD_PROTECTED && !BUILD_KERNEL ---help--- Enable the USB HID keyboard example diff --git a/examples/ostest/fpu.c b/examples/ostest/fpu.c index 47b668524..c0a60c086 100644 --- a/examples/ostest/fpu.c +++ b/examples/ostest/fpu.c @@ -55,7 +55,10 @@ #undef HAVE_FPU #ifdef CONFIG_ARCH_FPU -# if defined(CONFIG_EXAMPLES_OSTEST_FPUSIZE) && defined(CONFIG_SCHED_WAITPID) && !defined(CONFIG_DISABLE_SIGNALS) +# if defined(CONFIG_EXAMPLES_OSTEST_FPUSIZE) && \ + defined(CONFIG_SCHED_WAITPID) && \ + !defined(CONFIG_DISABLE_SIGNALS) && \ + defined(CONFIG_BUILD_FLAT) # define HAVE_FPU 1 # else # ifndef CONFIG_EXAMPLES_OSTEST_FPUSIZE @@ -67,6 +70,9 @@ # ifdef CONFIG_DISABLE_SIGNALS # warning "FPU test not built; CONFIG_DISABLE_SIGNALS defined" # endif +# ifndef CONFIG_BUILD_FLAT +# warning "FPU test not built; Only available in the flat build (CONFIG_BUILD_FLAT)" +# endif # endif #endif @@ -88,7 +94,7 @@ # define CONFIG_EXAMPLES_OSTEST_FPUSTACKSIZE 2048 #endif -/* Other defintions ****************************************************/ +/* Other definitions ***************************************************/ /* We'll keep all data using 32-bit values only to force 32-bit alignment. * This logic has no real notion of the underlying representation. */ diff --git a/examples/touchscreen/Kconfig b/examples/touchscreen/Kconfig index b75546c8b..e266972b6 100644 --- a/examples/touchscreen/Kconfig +++ b/examples/touchscreen/Kconfig @@ -46,6 +46,7 @@ config EXAMPLES_TOUCHSCREEN_MOUSE config EXAMPLES_TOUCHSCREEN_ARCHINIT bool "Architecture-specific initialization" default y + depends on !BUILD_PROTECTED && !BUILD_KERNEL ---help--- By default, the touchscreen example will call arch_tcinitialize() to register the touchscreen device before it attempts to open it. @@ -54,7 +55,7 @@ config EXAMPLES_TOUCHSCREEN_ARCHINIT This works well for the typical touchscreen controller but there are other devices that cannot be initialized and uninitialized in this - fashion. Consider a USB mouse, fo example. The USB mouse will be + fashion. Consider a USB mouse, for example. The USB mouse will be registered when the mouse is connected and unregistered when the mouse is disconnected. @@ -64,4 +65,12 @@ config EXAMPLES_TOUCHSCREEN_ARCHINIT de-selected, then the arch_tcinitialize() and arch_tcuninitialize() will never be called. + NOTE also that the functions arch_tcinitialize() and + arch_tcuninitialize() are effective non-standard operating system + calls. This is cheap shortcut and a violation of the OS interface. + You can get away with this in the flat build (CONFIG_BUILD_FLAT), + but not in the protected or kernel builds (CONFIG_BUILD_PROTECTED + or CONFIG)BUILD_KERNEL). In those cases, you will need to perform + one-time touchscreen initialization in board_initialize(). + endif