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

147 lines
4.9 KiB
ArmAsm

// Automatically generated file. DO NOT EDIT.
// Generated by gen-device-svd.go from MKW41Z4.svd, see https://github.com/posborne/cmsis-svd/tree/master/data/NXP
/*
// MKW41Z4 NXP Microcontroller
*/
// Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:
// o Redistributions of source code must retain the above copyright notice, this list
// of conditions and the following disclaimer.
// o Redistributions in binary form must reproduce the above copyright notice, this
// list of conditions and the following disclaimer in the documentation and/or
// other materials provided with the distribution.
// o Neither the name of the copyright holder nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.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 DMA0_IRQHandler
.long DMA1_IRQHandler
.long DMA2_IRQHandler
.long DMA3_IRQHandler
.long 0
.long FTFA_IRQHandler
.long LVD_LVW_DCDC_IRQHandler
.long LLWU_IRQHandler
.long I2C0_IRQHandler
.long I2C1_IRQHandler
.long SPI0_IRQHandler
.long TSI0_IRQHandler
.long LPUART0_IRQHandler
.long TRNG0_IRQHandler
.long CMT_IRQHandler
.long ADC0_IRQHandler
.long CMP0_IRQHandler
.long TPM0_IRQHandler
.long TPM1_IRQHandler
.long TPM2_IRQHandler
.long RTC_IRQHandler
.long RTC_Seconds_IRQHandler
.long PIT_IRQHandler
.long LTC0_IRQHandler
.long 0
.long DAC0_IRQHandler
.long 0
.long MCG_IRQHandler
.long LPTMR0_IRQHandler
.long SPI1_IRQHandler
.long PORTA_IRQHandler
.long PORTB_PORTC_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 DMA0_IRQHandler
IRQ DMA1_IRQHandler
IRQ DMA2_IRQHandler
IRQ DMA3_IRQHandler
IRQ FTFA_IRQHandler
IRQ LVD_LVW_DCDC_IRQHandler
IRQ LLWU_IRQHandler
IRQ I2C0_IRQHandler
IRQ I2C1_IRQHandler
IRQ SPI0_IRQHandler
IRQ TSI0_IRQHandler
IRQ LPUART0_IRQHandler
IRQ TRNG0_IRQHandler
IRQ CMT_IRQHandler
IRQ ADC0_IRQHandler
IRQ CMP0_IRQHandler
IRQ TPM0_IRQHandler
IRQ TPM1_IRQHandler
IRQ TPM2_IRQHandler
IRQ RTC_IRQHandler
IRQ RTC_Seconds_IRQHandler
IRQ PIT_IRQHandler
IRQ LTC0_IRQHandler
IRQ DAC0_IRQHandler
IRQ MCG_IRQHandler
IRQ LPTMR0_IRQHandler
IRQ SPI1_IRQHandler
IRQ PORTA_IRQHandler
IRQ PORTB_PORTC_IRQHandler
.size __isr_vector, .-__isr_vector