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