Files
llgo/targets/device/sam/atsamr21e19a.s
2025-08-20 10:27:01 +08:00

137 lines
4.6 KiB
ArmAsm

// Automatically generated file. DO NOT EDIT.
// Generated by gen-device-svd.go from ATSAMR21E19A.svd, see https://github.com/posborne/cmsis-svd/tree/master/data/Atmel
/*
// Atmel ATSAMR21E19A device: Cortex-M0+ Microcontroller with 256KB Flash, 32KB SRAM, SIP48_RF233_FL512KB-pin package (refer to http://www.atmel.com/devices/SAMR21E19A.aspx for more)
*/
// ============================================================================
// Atmel Microcontroller Software Support
// ============================================================================
// Copyright (c) 2016 Atmel Corporation,
// a wholly owned subsidiary of Microchip Technology Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the Licence at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ============================================================================
.syntax unified
// This is the default handler for interrupts, if triggered but not defined.
.section .text.Default_Handler
.global Default_Handler
.type Default_Handler, %function
Default_Handler:
wfe
b Default_Handler
.size Default_Handler, .-Default_Handler
// Avoid the need for repeated .weak and .set instructions.
.macro IRQ handler
.weak \handler
.set \handler, Default_Handler
.endm
// Must set the "a" flag on the section:
// https://svnweb.freebsd.org/base/stable/11/sys/arm/arm/locore-v4.S?r1=321049&r2=321048&pathrev=321049
// https://sourceware.org/binutils/docs/as/Section.html#ELF-Version
.section .isr_vector, "a", %progbits
.global __isr_vector
__isr_vector:
// Interrupt vector as defined by Cortex-M, starting with the stack top.
// On reset, SP is initialized with *0x0 and PC is loaded with *0x4, loading
// _stack_top and Reset_Handler.
.long _stack_top
.long Reset_Handler
.long NMI_Handler
.long HardFault_Handler
.long MemoryManagement_Handler
.long BusFault_Handler
.long UsageFault_Handler
.long 0
.long 0
.long 0
.long 0
.long SVC_Handler
.long DebugMon_Handler
.long 0
.long PendSV_Handler
.long SysTick_Handler
// Extra interrupts for peripherals defined by the hardware vendor.
.long PM_INTREQ_IRQHandler
.long SYSCTRL_INTREQ_IRQHandler
.long WDT_INTREQ_IRQHandler
.long RTC_INTREQ_IRQHandler
.long EIC_INTREQ_IRQHandler
.long NVMCTRL_INTREQ_IRQHandler
.long DMAC_INTREQ_IRQHandler
.long USB_INTREQ_IRQHandler
.long EVSYS_INTREQ_IRQHandler
.long SERCOM0_INTREQ_IRQHandler
.long SERCOM1_INTREQ_IRQHandler
.long SERCOM2_INTREQ_IRQHandler
.long SERCOM3_INTREQ_IRQHandler
.long SERCOM4_INTREQ_IRQHandler
.long SERCOM5_INTREQ_IRQHandler
.long TCC0_INTREQ_IRQHandler
.long TCC1_INTREQ_IRQHandler
.long TCC2_INTREQ_IRQHandler
.long TC3_INTREQ_IRQHandler
.long TC4_INTREQ_IRQHandler
.long TC5_INTREQ_IRQHandler
.long TC6_INTREQ_IRQHandler
.long TC7_INTREQ_IRQHandler
.long ADC_INTREQ_IRQHandler
.long AC_INTREQ_IRQHandler
.long DAC_INTREQ_IRQHandler
// Define default implementations for interrupts, redirecting to
// Default_Handler when not implemented.
IRQ NMI_Handler
IRQ HardFault_Handler
IRQ MemoryManagement_Handler
IRQ BusFault_Handler
IRQ UsageFault_Handler
IRQ SVC_Handler
IRQ DebugMon_Handler
IRQ PendSV_Handler
IRQ SysTick_Handler
IRQ PM_INTREQ_IRQHandler
IRQ SYSCTRL_INTREQ_IRQHandler
IRQ WDT_INTREQ_IRQHandler
IRQ RTC_INTREQ_IRQHandler
IRQ EIC_INTREQ_IRQHandler
IRQ NVMCTRL_INTREQ_IRQHandler
IRQ DMAC_INTREQ_IRQHandler
IRQ USB_INTREQ_IRQHandler
IRQ EVSYS_INTREQ_IRQHandler
IRQ SERCOM0_INTREQ_IRQHandler
IRQ SERCOM1_INTREQ_IRQHandler
IRQ SERCOM2_INTREQ_IRQHandler
IRQ SERCOM3_INTREQ_IRQHandler
IRQ SERCOM4_INTREQ_IRQHandler
IRQ SERCOM5_INTREQ_IRQHandler
IRQ TCC0_INTREQ_IRQHandler
IRQ TCC1_INTREQ_IRQHandler
IRQ TCC2_INTREQ_IRQHandler
IRQ TC3_INTREQ_IRQHandler
IRQ TC4_INTREQ_IRQHandler
IRQ TC5_INTREQ_IRQHandler
IRQ TC6_INTREQ_IRQHandler
IRQ TC7_INTREQ_IRQHandler
IRQ ADC_INTREQ_IRQHandler
IRQ AC_INTREQ_IRQHandler
IRQ DAC_INTREQ_IRQHandler
.size __isr_vector, .-__isr_vector