picolibrary-microchip-sam-d21da1

Interrupt Facilities

Microchip SAM D21/DA1 interrupt facilities are defined in the include/picolibrary/microchip/sam/d21da1/interrupt.h/source/picolibrary/microchip/sam/d21da1/interrupt.cc header/source file pair.

Table of Contents

Default Vector Table

The default interrupt vector table instance and associated interrupt handler functions are defined in the include/picolibrary/microchip/sam/d21da1/interrupt/default_vector_table.h/source/picolibrary/microchip/sam/d21da1/interrupt/default_vector_table.cc header/source file pair. The default interrupt vector table instance and associated interrupt handler functions are not included in the picolibrary-microchip-samd-d21da1 static library. To use the default interrupt vector table instance and associated interrupt handler functions, include the picolibrary-microchip-sam-d21da1-interrupt-default_vector_table object library objects in an executable’s sources list.

add_executable(
    foo
    $<TARGET_OBJECTS>:picolibrary-microchip-sam-d21da1-interrupt-default_vector_table>
)

The default interrupt vector table instance is placed in the .vectors section and is populated as follows:

::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_reset() is defined as a weak alias for ::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_reset_default() so that its behavior can be overridden.

::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_reset_default() uses the following linker defined symbols:

The following functions are defined as weak aliases for ::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_interrupt_default() so that their behavior can be overridden: