2024-01-27 17:27:22 +00:00
|
|
|
# 0 "startup_ARMCM0.S"
|
|
|
|
# 0 "<built-in>"
|
|
|
|
# 0 "<command-line>"
|
|
|
|
# 1 "startup_ARMCM0.S"
|
|
|
|
# 33 "startup_ARMCM0.S"
|
|
|
|
.syntax unified
|
|
|
|
.arch armv6-m
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.section .stack
|
|
|
|
.align 3
|
2024-01-27 05:40:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.equ Stack_Size, 0xc00
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.globl __StackTop
|
|
|
|
.globl __StackLimit
|
|
|
|
__StackLimit:
|
|
|
|
.space Stack_Size
|
|
|
|
.size __StackLimit, . - __StackLimit
|
|
|
|
__StackTop:
|
|
|
|
.size __StackTop, . - __StackTop
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.section .heap
|
|
|
|
.align 3
|
2024-01-27 05:40:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.equ Heap_Size, 0
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.globl __HeapBase
|
|
|
|
.globl __HeapLimit
|
|
|
|
__HeapBase:
|
|
|
|
.if Heap_Size
|
|
|
|
.space Heap_Size
|
|
|
|
.endif
|
|
|
|
.size __HeapBase, . - __HeapBase
|
|
|
|
__HeapLimit:
|
|
|
|
.size __HeapLimit, . - __HeapLimit
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.section .isr_vector
|
|
|
|
.align 2
|
|
|
|
.globl __isr_vector
|
|
|
|
__isr_vector:
|
|
|
|
.long __StackTop
|
|
|
|
.long Reset_Handler
|
|
|
|
.long NMI_Handler
|
|
|
|
.long HardFault_Handler
|
|
|
|
.long 0
|
|
|
|
.long 0
|
|
|
|
.long 0
|
|
|
|
.long 0
|
|
|
|
.long 0
|
|
|
|
.long 0
|
|
|
|
.long 0
|
|
|
|
.long SVC_Handler
|
|
|
|
.long 0
|
|
|
|
.long 0
|
|
|
|
.long PendSV_Handler
|
|
|
|
.long SysTick_Handler
|
|
|
|
|
|
|
|
|
|
|
|
.long Default_Handler
|
|
|
|
|
|
|
|
.size __isr_vector, . - __isr_vector
|
|
|
|
|
|
|
|
.text
|
|
|
|
.thumb
|
|
|
|
.thumb_func
|
|
|
|
.align 1
|
|
|
|
.globl Reset_Handler
|
|
|
|
.type Reset_Handler, %function
|
|
|
|
Reset_Handler:
|
|
|
|
# 150 "startup_ARMCM0.S"
|
|
|
|
ldr r1, =__etext
|
|
|
|
ldr r2, =__data_start__
|
|
|
|
ldr r3, =__data_end__
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
subs r3, r2
|
|
|
|
ble .L_loop1_done
|
2024-01-27 05:40:30 +00:00
|
|
|
|
|
|
|
.L_loop1:
|
2024-01-27 17:27:22 +00:00
|
|
|
subs r3, #4
|
|
|
|
ldr r0, [r1,r3]
|
|
|
|
str r0, [r2,r3]
|
|
|
|
bgt .L_loop1
|
2024-01-27 05:40:30 +00:00
|
|
|
|
|
|
|
.L_loop1_done:
|
2024-01-27 17:27:22 +00:00
|
|
|
# 229 "startup_ARMCM0.S"
|
|
|
|
bl SystemInit
|
2024-01-27 05:40:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
bl _start
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.pool
|
|
|
|
.size Reset_Handler, . - Reset_Handler
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.align 1
|
|
|
|
.thumb_func
|
|
|
|
.weak Default_Handler
|
|
|
|
.type Default_Handler, %function
|
|
|
|
Default_Handler:
|
|
|
|
b .
|
|
|
|
.size Default_Handler, . - Default_Handler
|
2024-01-27 05:40:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.macro def_irq_handler handler_name
|
|
|
|
.weak \handler_name
|
|
|
|
.set \handler_name, Default_Handler
|
|
|
|
.endm
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
def_irq_handler NMI_Handler
|
|
|
|
def_irq_handler HardFault_Handler
|
|
|
|
def_irq_handler SVC_Handler
|
|
|
|
def_irq_handler PendSV_Handler
|
|
|
|
def_irq_handler SysTick_Handler
|
|
|
|
def_irq_handler DEF_IRQHandler
|
2024-01-27 05:40:30 +00:00
|
|
|
|
2024-01-27 17:27:22 +00:00
|
|
|
.end
|