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.
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:
_stack_end
(must be defined by linker script)::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_reset()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_nmi()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_hard_fault()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_svcall()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_pendsv()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_systick0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_pm0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sysctrl0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_wdt0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_rtc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_eic0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_nvmctrl0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_dmac0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_usb0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_evsys0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom1()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom2()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom3()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom4()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom5()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc1()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc2()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc3()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc4()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc5()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc6()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc7()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_adc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_ac0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_dac0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_ptc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_i2s0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_ac1()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc3()
::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:
_data_flash_start
: The start of the data used to initialize the .data
section_data_start
: The start of the .data
section_data_end
: The end of the .data
section_bss_start
: The start of the .bss
section_bss_end
: The end of the .bss
section_vector_table
: The start of the default vector tableThe following functions are defined as weak aliases for
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_interrupt_default()
so that
their behavior can be overridden:
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_nmi()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_hard_fault()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_svcall()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_pendsv()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_systick0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_pm0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sysctrl0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_wdt0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_rtc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_eic0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_nvmctrl0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_dmac0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_usb0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_evsys0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom1()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom2()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom3()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom4()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_sercom5()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc1()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc2()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc3()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc4()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc5()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc6()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tc7()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_adc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_ac0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_dac0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_ptc0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_i2s0()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_ac1()
::picolibrary::Microchip::SAM::D21DA1::Interrupt::handle_tcc3()