.syntax unified .cpu cortex-m0plus .fpu softvfp .thumb .global g_pfnVectors .global Default_Handler .word _sidata .word _sdata .word _edata .word _sbss .word _ebss .equ BootRAM, 0xF108F85F .macro def_irq_handler handler_name .weak \handler_name .set \handler_name, Default_Handler .endm .section .text.Default_Handler,"ax",%progbits Default_Handler: b Default_Handler .section .text.Reset_Handler,"ax",%progbits .global Reset_Handler Reset_Handler: ldr r0, =_estack mov sp, r0 ldr r1, =_sbss ldr r2, =_ebss movs r3, #0 b FillZeroLoop FillZero: str r3, [r1] adds r1, r1, #4 FillZeroLoop: cmp r1, r2 bcc FillZero ldr r0, =_sidata ldr r1, =_sdata ldr r2, =_edata b CopyDataLoop CopyData: ldr r3, [r0] str r3, [r1] adds r0, r0, #4 adds r1, r1, #4 CopyDataLoop: cmp r1, r2 bcc CopyData bl SystemInit bl main LoopForever: b LoopForever def_irq_handler NMI_Handler def_irq_handler HardFault_Handler def_irq_handler SVCall_Handler def_irq_handler PendSV_Handler def_irq_handler SysTick_Handler def_irq_handler WWDG_IRQHandler def_irq_handler RCC_IRQHandler def_irq_handler EXTI0_1_IRQHandler def_irq_handler EXTI2_3_IRQHandler def_irq_handler EXTI4_15_IRQHandler def_irq_handler DMA1_Ch1_IRQHandler def_irq_handler DMA1_Ch2_3_IRQHandler def_irq_handler DMA1_Ch4_5_IRQHandler def_irq_handler ADC1_IRQHandler def_irq_handler TIM1_BRK_IRQHandler def_irq_handler TIM1_UP_IRQHandler def_irq_handler TIM1_TRG_LVL_IRQHandler def_irq_handler TIM1_CC_IRQHandler def_irq_handler TIM3_IRQHandler def_irq_handler TIM14_IRQHandler def_irq_handler TIM16_IRQHandler def_irq_handler TIM17_IRQHandler def_irq_handler I2C1_IRQHandler def_irq_handler SPI1_IRQHandler def_irq_handler USART1_IRQHandler def_irq_handler UART1_IRQHandler def_irq_handler LPUART1_IRQHandler .section .isr_vector,"a",%progbits .type g_pfnVectors, %object .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler .word NMI_Handler .word HardFault_Handler .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word SVCall_Handler .word 0 .word 0 .word PendSV_Handler .word SysTick_Handler .word WWDG_IRQHandler .word RCC_IRQHandler .word EXTI0_1_IRQHandler .word EXTI2_3_IRQHandler .word EXTI4_15_IRQHandler .word 0 .word 0 .word DMA1_Ch1_IRQHandler .word DMA1_Ch2_3_IRQHandler .word DMA1_Ch4_5_IRQHandler .word ADC1_IRQHandler .word TIM1_BRK_IRQHandler .word TIM1_UP_IRQHandler .word TIM1_TRG_LVL_IRQHandler .word TIM1_CC_IRQHandler .word TIM3_IRQHandler .word 0 .word TIM14_IRQHandler .word 0 .word TIM16_IRQHandler .word TIM17_IRQHandler .word I2C1_IRQHandler .word SPI1_IRQHandler .word USART1_IRQHandler .word 0 .word 0 .word UART1_IRQHandler .word LPUART1_IRQHandler .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0