1Title: Test to verify the no multithreading use-case (ARM Only)
2
3Description:
4
5This test verifies that a Zephyr build without multithreading
6support (CONFIG_MULTITHREADING=n) works as expected. Only for
7ARM Cortex-M targets. In detail the test verifies that
8- system boots to main()
9- PSP points to the main stack
10- PSPLIM is set to the main stack base (if applicable)
11- FPU state is reset (if applicable)
12- Interrupts are enabled when switching to main()
13- Interrupts may be registered and serviced
14- Activating PendSV triggers a Reserved Exception error
15
16---------------------------------------------------------------------------
17
18Building and Running Project:
19
20This project outputs to the console.  It can be built and executed on QEMU as
21follows:
22
23    ninja/make run
24
25---------------------------------------------------------------------------
26
27Troubleshooting:
28
29Problems caused by out-dated project information can be addressed by
30issuing one of the following commands then rebuilding the project:
31
32    ninja/make clean    # discard results of previous builds
33                        # but keep existing configuration info
34or
35    ninja/make pristine # discard results of previous builds
36                        # and restore pre-defined configuration info
37
38---------------------------------------------------------------------------
39
40Sample Output:
41
42*** Booting Zephyr OS build zephyr-v2.6.0-349-g032d10878792  ***
43ARM no-multithreading test
44E: ***** Reserved Exception ( -2) *****
45E: r0/a1:  0x0000001b  r1/a2:  0x000044d8  r2/a3:  0xe000ed00
46E: r3/a4:  0x10000000 r12/ip:  0x0000000a r14/lr:  0x00001473
47E:  xpsr:  0x61000000
48E: Faulting instruction address (r15/pc): 0x00001510
49E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
50E: Current thread: (nil) (unknown)
51Caught system error -- reason 0
52Available IRQ line: 25
53ARM no multithreading test successful
54===================================================================
55PROJECT EXECUTION SUCCESSFUL
56