|
1 | | -# Copyright (c) 2015-2017 The F9 Microkernel Project. All rights reserved. |
| 1 | +# Copyright (c) 2015-2017,2026 The F9 Microkernel Project. All rights reserved. |
2 | 2 | # Use of this source code is governed by a BSD-style license that can be |
3 | 3 | # found in the LICENSE file. |
4 | 4 |
|
5 | 5 | menu "User Space" |
6 | 6 |
|
7 | | -config BUILD_USER_APPS |
8 | | - bool "Build user applications for F9 microkernel" |
| 7 | +choice |
| 8 | + prompt "User Application" |
| 9 | + default USER_APP_TESTS |
| 10 | + help |
| 11 | + Select which user application to build and run. |
| 12 | + Only one application can be active at a time to avoid |
| 13 | + memory contention and resource conflicts. |
| 14 | + |
| 15 | +config USER_APP_TESTS |
| 16 | + bool "Test Suite (Automated Testing)" |
| 17 | + help |
| 18 | + Machine-parseable test suite for automated CI/CD. |
| 19 | + |
| 20 | + Commands: |
| 21 | + make run-tests - Run test suite |
| 22 | + make run-tests FAULT=mpu - Run MPU fault test |
| 23 | + make run-tests FAULT=canary - Run stack canary test |
| 24 | + |
| 25 | + Test suite verifies IPC, threads, scheduler, timer, memory, |
| 26 | + and notification subsystems. Recommended for development and CI/CD. |
| 27 | + |
| 28 | +config USER_APP_PINGPONG |
| 29 | + bool "Pingpong Demo" |
| 30 | + help |
| 31 | + Simple IPC demonstration with two threads exchanging messages. |
| 32 | + Useful for testing basic IPC functionality and as a minimal example. |
| 33 | + |
| 34 | +config USER_APP_NONE |
| 35 | + bool "No user application" |
| 36 | + help |
| 37 | + Do not build any user application. Kernel-only build. |
| 38 | + Useful for kernel development and KDB debugging. |
| 39 | + |
| 40 | +endchoice |
| 41 | + |
| 42 | +# Hardware-specific test cases (requires user application) |
| 43 | +menu "Hardware Test Cases" |
| 44 | + depends on USER_APP_TESTS || USER_APP_PINGPONG |
| 45 | + |
| 46 | +config LCD_TEST |
| 47 | + bool "LCD Test Cases" |
9 | 48 | default n |
10 | | - ---help--- |
11 | | - Enable this options to will compile userspace apps |
12 | | - into f9-kernel, This may let you unable to use kdb. |
| 49 | + help |
| 50 | + LCD hardware test cases for boards with LCD support. |
| 51 | + Available when user application is enabled. |
13 | 52 |
|
14 | | -source "user/Kconfig.apps" |
| 53 | +config EXTI_INTERRUPT_TEST |
| 54 | + bool "EXTI interrupt test case" |
| 55 | + default n |
| 56 | + depends on EXTI0_USER_IRQ && EXTI1_USER_IRQ |
| 57 | + help |
| 58 | + External interrupt (EXTI) test for hardware validation. |
| 59 | + Requires EXTI0 and EXTI1 user IRQ support. |
15 | 60 |
|
16 | | -source "user/Kconfig.tests" |
| 61 | +endmenu |
17 | 62 |
|
18 | 63 | endmenu |
0 commit comments