zephyr/tests/arch/arm/arm_interrupt
Carlo Caione aec9a8c4be arch: arm: Move ARM code to AArch32 sub-directory
Before introducing the code for ARM64 (AArch64) we need to relocate the
current ARM code to a new AArch32 sub-directory. For now we can assume
that no code is shared between ARM and ARM64.

There are no functional changes. The code is moved to the new location
and the file paths are fixed to reflect this change.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2019-12-20 11:40:59 -05:00
..
src arch: arm: Move ARM code to AArch32 sub-directory 2019-12-20 11:40:59 -05:00
CMakeLists.txt
README.txt kernel: rename z_arch_ to arch_ 2019-11-07 15:21:46 -08:00
prj.conf
testcase.yaml tests: remove duplicate name for the kernel arch.interrupt test 2019-11-19 12:18:18 +01:00

README.txt

Title: Test to verify code fault handling in ISR execution context (ARM Only)

Description:

This test verifies that we can handle system fault conditions
while running in handler mode (i.e. in an ISR). Only for ARM
Cortex-M targets.

---------------------------------------------------------------------------

Building and Running Project:

This project outputs to the console.  It can be built and executed on QEMU as
follows:

    ninja/make run

---------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    ninja/make clean    # discard results of previous builds
                        # but keep existing configuration info
or
    ninja/make pristine # discard results of previous builds
                        # and restore pre-defined configuration info

---------------------------------------------------------------------------

Sample Output:
***** Booting Zephyr OS build zephyr-v2.0.0-1066-ga087055d4e3d *****
 Running test suite arm_interrupt
 ===================================================================
 starting test - test_arm_interrupt
 Available IRQ line: 25
 E: ***** HARD FAULT *****
 E: ARCH_EXCEPT with reason 3

 E: r0/a1:  0x00000003  r1/a2:  0x20001240  r2/a3:  0x00000003
 E: r3/a4:  0x20001098 r12/ip:  0x00000000 r14/lr:  0x000012c9
 E:  xpsr:  0x01000029
 E: Faulting instruction address (r15/pc): 0x000003de
 E: >>> ZEPHYR FATAL ERROR 3: Kernel oops
 E: Current thread: 0x20000058 (unknown)
 Caught system error -- reason 3
 E: Fault during interrupt handling

 E: ***** HARD FAULT *****
 E: ARCH_EXCEPT with reason 4

 E: r0/a1:  0x00000004  r1/a2:  0x20001240  r2/a3:  0x00000004
 E: r3/a4:  0x20001098 r12/ip:  0x00000000 r14/lr:  0x000012c9
 E:  xpsr:  0x01000029
 E: Faulting instruction address (r15/pc): 0x000003e8
 E: >>> ZEPHYR FATAL ERROR 4: Kernel panic
 E: Current thread: 0x20000058 (unknown)
 Caught system error -- reason 4
 E: Fault during interrupt handling

 PASS - test_arm_interrupt
 ===================================================================
 Test suite arm_interrupt succeeded
 ===================================================================
 PROJECT EXECUTION SUCCESSFUL