zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.82k stars 6.59k forks source link

Hard real-time interrupt support #2543

Closed zephyrbot closed 7 years ago

zephyrbot commented 8 years ago

Reported by Carles Cufi:

Currently the ISR wrapper that envelopes all ISR execution code, and that is automatically called when using the IRQ_CONNECT() macro, adds a certain amount of latency from the moment the hardware interrupt is triggered to the first instruction executed inside the actual ISR (i.e. the one whose address is passed as a parameter to IRQ_CONNECT().

We would therefore benefit from a framework that allows interrupts that have very strict timing requirements due to external constraints (commonly referred to as hard real-time interrupts) to skip the wrapping and execute directly as soon as the hardware allows it.

A short wish list for the framework:

Please note that this is not a replacement for the Zero-Latency Interrupt (ZLI) framework already in place, but is in fact complementing it.

(Imported from Jira ZEP-1038)

zephyrbot commented 7 years ago

Blocks GH-2222

zephyrbot commented 7 years ago

Blocks GH-2159