|
theCore C++ embedded framework
|
Common IRQ implementation. More...
#include "common/irq.hpp"#include <ecl/assert.h>#include <platform/irq.hpp>#include <common/execution.hpp>#include <new>
Namespaces | |
| ecl | |
| ecl::irq | |
Typedefs | |
| using | ecl::handler_storage = std::aligned_storage_t< sizeof(irq::handler_type), alignof(irq::handler_type)> |
| Storage type for the IRQ handlers. More... | |
Functions | |
| static void | ecl::default_handler () |
| Unhandled interrupt must cause the abort. More... | |
| static auto | ecl::extract_handlers () |
| Effectively casts IRQ storage. More... | |
| ecl::__attribute__ ((used)) void core_isr() | |
| Handles IRQ and visible to the startup code. More... | |
| void | ecl::irq::init_storage () |
| Initializes storage for callbacks and setups default handler for every IRQ. More... | |
| void | ecl::irq::subscribe (irq_num irqn, const irq::handler_type &handler) |
| Subscribes to the given IRQ. More... | |
| void | ecl::irq::unsubscribe (irq_num irqn) |
| Unsubscribes from the given IRQ. More... | |
Variables | |
| static handler_storage | ecl::storage [IRQ_COUNT] |
| IRQ storage itself. More... | |
Common IRQ implementation.