64 lines
2.4 KiB
Plaintext
64 lines
2.4 KiB
Plaintext
Title: Test to verify advanced features of ARM Cortex-M interrupt handling.
|
|
|
|
Description:
|
|
This test suite verifies the behavior of CONFIG_ZERO_LATENCY_IRQS and
|
|
CONFIG_DYNAMIC_DIRECT_INTERRUPTS at runtime (ARM Only)
|
|
|
|
The first test verifies the behavior of CONFIG_DYNAMIC_DIRECT_INTERRUPTS
|
|
at runtime. In particular, it tests that dynamic direct IRQs may be
|
|
installed at run-time in the software interrupt table.
|
|
Only for ARMv7-M and ARMv8-M Mainline targets.
|
|
|
|
The second test verifies the behavior of CONFIG_ZERO_LATENCY_IRQS at runtime.
|
|
In particular, it tests that IRQs configured with the IRQ_ZERO_LATENCY
|
|
flag are assigned the highest priority in the system (and, therefore,
|
|
cannot be masked-out by irq_lock()).
|
|
Only for ARMv7-M and ARMv8-M Mainline targets.
|
|
|
|
The third test verifies the behavior of the IRQ Target State API for
|
|
TrustZone-M enabled Cortex-M Mainline CPUs.
|
|
|
|
---------------------------------------------------------------------------
|
|
|
|
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.1.0-358-g9ac0a8c10a2e ***
|
|
Running test suite arm_irq_advanced_features
|
|
===================================================================
|
|
starting test - test_arm_dynamic_direct_interrupts
|
|
PASS - test_arm_dynamic_direct_interrupts
|
|
===================================================================
|
|
starting test - test_arm_zero_latency_irqs
|
|
Available IRQ line: 57
|
|
PASS - test_arm_zero_latency_irqs
|
|
===================================================================
|
|
starting test - test_arm_irq_target_state
|
|
Available IRQ line: 93
|
|
PASS - test_arm_irq_target_state
|
|
===================================================================
|
|
Test suite arm_irq_advanced_features succeeded
|
|
===================================================================
|
|
PROJECT EXECUTION SUCCESSFUL
|