Interrupts
SPDX-License-Identifier: Apache-2.0
Zephyr RTOS shall provide a mechanism to initialize a static IRQ service routine (ISR), providing all parameters needed to configure the hardware and software.
The static IRQ shall be initially disabled.
Zephyr RTOS shall provide a mechanism to initialize a direct IRQ handler, providing all parameters needed to configure the hardware and software.
As the developer of low-power and low-latency applications, I need to implement ISRs that avoid the normal interrupt and power management overhead.
The direct IRQ shall be initially disabled.
Zephyr RTOS shall provide a mechanism to initialize a dynamic IRQ service routine, providing all parameters needed to configure the hardware and software.
The dynamic IRQ shall be initially disabled.
Zephyr RTOS shall provide a mechanism to uninstall a dynamic ISR.
Zephyr RTOS shall provide a mechanism to disable all IRQs on a CPU and return the state of the IRQ hardware prior to being disabled.
Zephyr RTOS shall provide a mechanism to enable all IRQs on a CPU and return them to their previous state.
Zephyr RTOS shall provide a mechanism to disable a specified IRQ.
Zephyr RTOS shall provide a mechanism to enable a specified IRQ.
Zephyr RTOS shall provide a mechanism that returns the enabled status of a specified IRQ, where the status is enabled or disabled.
Zephyr RTOS shall provide a mechanism that returns the execution context, where the context is In-ISR or Not In-ISR.
As the developer of functions that may run in either ISR or THREAD context, I need to know the current context to enable conditional behavior.
The Zephyr RTOS shall support multi-level preemptive interrupt priorities, when supported by hardware.
When an enabled IRQ that has a connected interrupt service routine is asserted, the Zephyr RTOS shall invoke the associated interrupt service routine.
When the Zephyr RTOS invokes a static or dynamic interrupt service routine, it shall pass to the routine the parameter that was registered with it.