OpenMPTL - ARM Cortex (common)
C++ Microprocessor Template Library
Public Types | Static Public Attributes | List of all members
mptl::vector_table< stack_top, irq_handler_list, default_isr > Struct Template Reference

Provides a static vector table (value[], see vector_table_impl above), to be initialized in section ".isr_vector". More...

#include <vector_table.hpp>

Inheritance diagram for mptl::vector_table< stack_top, irq_handler_list, default_isr >:

Public Types

using type = vector_table< stack_top, irq_handler_list, default_isr >
 

Static Public Attributes

static constexpr int irq_channel_offset = -irq::reset::irqn
 offset of irq_channel<0> in arm_cortex_vector_table::isr_vector[] More...
 
static constexpr int numof_core_exceptions = -irq::reset::irqn
 

Detailed Description

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:

Member Typedef Documentation

◆ type

template<const uint32_t * stack_top, typename irq_handler_list , isr_t default_isr = nullptr>
using mptl::vector_table< stack_top, irq_handler_list, default_isr >::type = vector_table<stack_top, irq_handler_list, default_isr>

Member Data Documentation

◆ irq_channel_offset

template<const uint32_t * stack_top, typename irq_handler_list , isr_t default_isr = nullptr>
constexpr int mptl::vector_table< stack_top, irq_handler_list, default_isr >::irq_channel_offset = -irq::reset::irqn
static

◆ numof_core_exceptions

template<const uint32_t * stack_top, typename irq_handler_list , isr_t default_isr = nullptr>
constexpr int mptl::vector_table< stack_top, irq_handler_list, default_isr >::numof_core_exceptions = -irq::reset::irqn
static

The documentation for this struct was generated from the following file: