| 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 |