📄 startup.s
字号:
;/*****************************************************************************/
;/* STARTUP.S: Startup file for Cortex-M3 */
;/*****************************************************************************/
;/* <<< Use Configuration Wizard in Context Menu >>> */
;/*****************************************************************************/
;/* This file is part of the uVision/ARM development tools. */
;/* Copyright (c) 2005-2006 Keil Software. All rights reserved. */
;/* This software may only be used under the terms of a valid, current, */
;/* end user licence from KEIL for a compatible version of KEIL software */
;/* development tools. Nothing else gives you the right to use this software. */
;/*****************************************************************************/
;// <h> Stack Configuration
;// <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
;// </h>
Stack_Size EQU 0x00000080
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
EXPORT Stack_Top
Stack_Top EQU Stack_Mem + Stack_Size
;// <h> Heap Configuration
;// <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;// </h>
Heap_Size EQU 0x00000000
AREA HEAP, NOINIT, READWRITE, ALIGN=3
Heap_Mem SPACE Heap_Size
PRESERVE8
; Area Definition and Entry Point
; Startup Code must be linked first at Address at which it expects to run.
AREA RESET, CODE, READONLY
THUMB
; Exception Vectors
; Mapped to Address 0.
; Dummy Handlers are implemented as infinite loops which can be modified.
Vectors DCD Stack_Top ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD Nmi_Handler ; NMI Handler
DCD Fault_Handler ; Hard Fault Handler
DCD Default_Handler ; MPU Fault Handler
DCD Default_Handler ; Bus Fault Handler
DCD Default_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD Default_Handler ; SVCall Handler
DCD Default_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD Default_Handler ; PendSV Handler
DCD Default_Handler ; SysTick Handler
DCD Default_Handler ; GPIO Port A
DCD Default_Handler ; GPIO Port B
DCD Default_Handler ; GPIO Port C
DCD Default_Handler ; GPIO Port D
DCD Default_Handler ; GPIO Port E
DCD Default_Handler ; UART0
DCD Default_Handler ; UART1
DCD Default_Handler ; SSI
DCD Default_Handler ; I2C
DCD Default_Handler ; PWM Fault
DCD Default_Handler ; PWM Generator 0
DCD Default_Handler ; PWM Generator 1
DCD Default_Handler ; PWM Generator 2
DCD 0 ; Reserved
DCD Default_Handler ; ADC Sequence 0
DCD Default_Handler ; ADC Sequence 1
DCD Default_Handler ; ADC Sequence 2
DCD Default_Handler ; ADC Sequence 3
DCD Default_Handler ; Watchdog
DCD Default_Handler ; Timer 0A
DCD Default_Handler ; Timer 0B
DCD Default_Handler ; Timer 1A
DCD Default_Handler ; Timer 1B
DCD Default_Handler ; Timer 2A
DCD Default_Handler ; Timer 2B
DCD Default_Handler ; Comp 0
DCD Default_Handler ; Comp 1
DCD Default_Handler ; Comp 2
DCD Default_Handler ; System Control
DCD Default_Handler ; Flash Control
Nmi_Handler B Nmi_Handler
Fault_Handler B Fault_Handler
Default_Handler B Default_Handler
; Reset Handler
EXPORT Reset_Handler
Reset_Handler
IMPORT __main
LDR R0, =__main
BX R0
ALIGN
; User Initial Stack & Heap
AREA |.text|, CODE, READONLY
IMPORT __use_two_region_memory
EXPORT __user_initial_stackheap
__user_initial_stackheap
LDR R0, = Heap_Mem
LDR R1, =(Stack_Mem + Stack_Size)
LDR R2, = (Heap_Mem + Heap_Size)
LDR R3, = Stack_Mem
BX LR
ALIGN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -