Provides a static vector table (value[], see vector_table_impl above), to be initialized in section ".isr_vector".
More...
template<const uint32_t * stack_top, typename irq_handler_list, isr_t default_isr = nullptr>
struct mptl::vector_table< stack_top, irq_handler_list, default_isr >
Example:
extern const uint32_t _stack_top; // provided by linker script
using resources = mptl::typelist<
mptl::irq_handler< typename mptl::irq::reset, my_reset_isr >,
...
>;
using vector_table = mptl::vector_table<&_stack_top, resources>;
const auto isr_vector __attribute__((used, section(".isr_vector"))) = vector_table::value;
Template arguments:
- stack_top: pointer to reset value of stack pointer
- irq_handler_list: typelist<>, containing mptl::irq_handler<> traits (other traits are ignored)
- default_isr: isr_t function pointer, used for all irq's which are not listed in irq_handler_list. Defaults to "nullptr".