zephyr/tests/arch/arm/arm_irq_advanced_features
box zheng 863c538402 tests : Ensure the IRQ is disabled before enabling it at run time
In the function irq_connect_dynamic, it will check if the irq is
disable. If the irq is enable ,it will assert.So before invoking
the function irq_connect_dynamic, it must disable the irq.

Signed-off-by: box zheng <box.zheng@intel.com>
2020-01-17 12:40:38 +01:00
..
src tests : Ensure the IRQ is disabled before enabling it at run time 2020-01-17 12:40:38 +01:00
CMakeLists.txt
README.txt
prj.conf
testcase.yaml

README.txt

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.

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

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
===================================================================
Test suite arm_irq_advanced_features succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL