📄 startup.lst
字号:
ARM Macro Assembler Page 1
1 00000000 ;/****************************************Copyright (c)*
*************************************************
2 00000000 ;** Guangzou ZLG-MCU Devel
opment Co.,LTD.
3 00000000 ;** graduate school
4 00000000 ;** http://www.zlgmcu.co
m
5 00000000 ;**
6 00000000 ;**--------------File Info------------------------------
-------------------------------------------------
7 00000000 ;** File name: Startup.s
8 00000000 ;** Last modified Date: 2007-01-18
9 00000000 ;** Last Version: 1.0
10 00000000 ;** Descriptions: Startup code of LM3S MCU
11 00000000 ;**-----------------------------------------------------
-------------------------------------------------
12 00000000 ;** Created By: Steven Zhou 周绍刚
13 00000000 ;** Created date: 2007-01-18
14 00000000 ;** Version: 1.0
15 00000000 ;** Descriptions: The original version
16 00000000 ;**
17 00000000 ;**-----------------------------------------------------
-------------------------------------------------
18 00000000 ;** Modified by:
19 00000000 ;** Modified date:
20 00000000 ;** Version:
21 00000000 ;** Descriptions:
22 00000000 ;**
23 00000000 ;*******************************************************
*************************************************
24 00000000
25 00000000
26 00000000 ;*******************************************************
*************************************************
27 00000000 ;* Byte number of Main Sta
ck 主堆栈的字节数 *
28 00000000 ;*******************************************************
*************************************************
29 00000000 00000100
Stack EQU 256
30 00000000
31 00000000
32 00000000 ;*******************************************************
*************************************************
33 00000000 ;* Byte number of the H
eap 堆的字节数 *
34 00000000 ;*******************************************************
*************************************************
35 00000000 00000064
Heap EQU 100
36 00000000
37 00000000
38 00000000 ;*******************************************************
*************************************************
39 00000000 ;* Allocate space for Mai
n Stack 主堆栈分配的空间 *
ARM Macro Assembler Page 2
40 00000000 ;*******************************************************
*************************************************
41 00000000 AREA STACK, NOINIT, READWRITE, ALIGN
=3
42 00000000 StackMem
43 00000000 SPACE Stack
44 00000100
45 00000100
46 00000100 ;*******************************************************
*************************************************
47 00000100 ;* Allocate space for t
he heap 栈分配的空间 *
48 00000100 ;*******************************************************
*************************************************
49 00000100 AREA HEAP, NOINIT, READWRITE, ALIGN=
3
50 00000000 HeapMem
51 00000000 SPACE Heap
52 00000064
53 00000064
54 00000064 ;*******************************************************
*************************************************
55 00000064 ;* Declarations for the interrupt handlers tha
t are used by the application. *
56 00000064 ;* 本应用所用到的中断函数
的声明 *
57 00000064 ;*******************************************************
*************************************************
58 00000064 EXTERN OSPendSV
59 00000064 EXTERN Tmr_TickISR_Handler
60 00000064 EXTERN UART0_ISR
61 00000064 EXTERN UART1_ISR
62 00000064 EXTERN I2C_ISR
63 00000064 EXTERN Timer1A_ISR
64 00000064 ;*******************************************************
*************************************************
65 00000064 ;* Indicate that the code in this file preserve
s 8-byte alignment of the stack. *
66 00000064 ;* 本文件的代码对堆栈8字节
对齐保护 *
67 00000064 ;*******************************************************
*************************************************
68 00000064 PRESERVE8
69 00000064
70 00000064
71 00000064 ;*******************************************************
*************************************************
72 00000064 ;* Reset code sect
ion. *
73 00000064 ;* 复位代码
*
74 00000064 ;*******************************************************
*************************************************
75 00000064 AREA RESET, CODE, READONLY
ARM Macro Assembler Page 3
76 00000000 THUMB
77 00000000
78 00000000 ;************************************************
79 00000000 ; The vector table.
80 00000000 ; 向量表
81 00000000 ;************************************************
82 00000000 Vectors
83 00000000 00000100 DCD StackMem + Stack ; Top of Stack
84 00000004 00000000 DCD Reset_Handler ; Reset Handler
85 00000008 00000000 DCD NmiSR ; NMI Handler
86 0000000C 00000000 DCD IntDefaultHandler ; Hard Fault
Handler
87 00000010 00000000 DCD IntDefaultHandler
; MPU Fault Handler
88 00000014 00000000 DCD IntDefaultHandler
; Bus Fault Handler
89 00000018 00000000 DCD IntDefaultHandler ; Usage Fault
Handler
90 0000001C 00000000 DCD 0 ; Reserved
91 00000020 00000000 DCD 0 ; Reserved
92 00000024 00000000 DCD 0 ; Reserved
93 00000028 00000000 DCD 0 ; Reserved
94 0000002C 00000000 DCD IntDefaultHandler
; SVCall Handler
95 00000030 00000000 DCD IntDefaultHandler ; Debug Monit
or Handler
96 00000034 00000000 DCD 0 ; Reserved
97 00000038 00000000 DCD OSPendSV ; PendSV Handler
98 0000003C 00000000 DCD Tmr_TickISR_Handler
; SysTick Handler
99 00000040 00000000 DCD IntDefaultHandler ; GPIO Port A
100 00000044 00000000 DCD IntDefaultHandler ; GPIO Port B
101 00000048 00000000 DCD IntDefaultHandler ; GPIO Port C
102 0000004C 00000000 DCD IntDefaultHandler ; GPIO Port D
103 00000050 00000000 DCD IntDefaultHandler ; GPIO Port E
104 00000054 00000000 DCD UART0_ISR ; UART0
105 00000058 00000000 DCD UART1_ISR ; UART1
106 0000005C 00000000 DCD IntDefaultHandler ; SSI
107 00000060 00000000 DCD I2C_ISR ; I2C
108 00000064 00000000 DCD IntDefaultHandler ; PWM Fault
109 00000068 00000000 DCD IntDefaultHandler
; PWM Generator 0
110 0000006C 00000000 DCD IntDefaultHandler
; PWM Generator 1
111 00000070 00000000 DCD IntDefaultHandler
; PWM Generator 2
112 00000074 00000000 DCD IntDefaultHandler ; Quadrature
Encoder
113 00000078 00000000 DCD IntDefaultHandler
; ADC Sequence 0
114 0000007C 00000000 DCD IntDefaultHandler
ARM Macro Assembler Page 4
; ADC Sequence 1
115 00000080 00000000 DCD IntDefaultHandler
; ADC Sequence 2
116 00000084 00000000 DCD IntDefaultHandler
; ADC Sequence 3
117 00000088 00000000 DCD IntDefaultHandler ; Watchdog
118 0000008C 00000000 DCD IntDefaultHandler ; Timer 0A
119 00000090 00000000 DCD IntDefaultHandler ; Timer 0B
120 00000094 00000000 DCD Timer1A_ISR ; Timer 1A
121 00000098 00000000 DCD IntDefaultHandler ; Timer 1B
122 0000009C 00000000 DCD IntDefaultHandler ; Timer 2A
123 000000A0 00000000 DCD IntDefaultHandler ; Timer 2B
124 000000A4 00000000 DCD IntDefaultHandler ; Comp 0
125 000000A8 00000000 DCD IntDefaultHandler ; Comp 1
126 000000AC 00000000 DCD IntDefaultHandler ; Comp 2
127 000000B0 00000000 DCD IntDefaultHandler
; System Control
128 000000B4 00000000 DCD IntDefaultHandler
; Flash Control
129 000000B8
130 000000B8
131 000000B8 ;************************************************
132 000000B8 ; Reset entry
133 000000B8 ; 复位入口点
134 000000B8 ;************************************************
135 000000B8 EXPORT Reset_Handler
136 000000B8 Reset_Handler
137 000000B8 IMPORT __main
138 000000B8 4802 LDR R0, =__main
139 000000BA 4700 BX R0
140 000000BC
141 000000BC
142 000000BC ;************************************************
143 000000BC ; NMI exception handler.
144 000000BC ; It simply enters an infinite loop.
145 000000BC ; 不可屏蔽异常处理程序。简单地进入死循环
146 000000BC ;************************************************
147 000000BC NmiSR
148 000000BC E7FE B NmiSR
149 000000BE
150 000000BE
151 000000BE ;************************************************
152 000000BE ; Fault interrupt handler.
153 000000BE ; It simply enters an infinite loop.
154 000000BE ; 错误中断处理程序。简单地进入死循环
155 000000BE ;************************************************
156 000000BE FaultISR
157 000000BE E7FE B FaultISR
158 000000C0
159 000000C0
160 000000C0 ;************************************************
161 000000C0 ; Unexpected interrupt handler.
162 000000C0 ; It simply enters an infinite loop.
163 000000C0 ; 无期待的中断处理程序。简单地进入死循环
164 000000C0 ;************************************************
165 000000C0 IntDefaultHandler
166 000000C0 E7FE B IntDefaultHandler
167 000000C2
168 000000C2
ARM Macro Assembler Page 5
169 000000C2 ;************************************************
170 000000C2 ; Make sure the end of this section is aligned.
171 000000C2 ; 确保本段的末尾对齐
172 000000C2 ;************************************************
173 000000C2 00 00 ALIGN
174 000000C4
175 000000C4
176 000000C4
177 000000C4 ;*******************************************************
*************************************************
178 000000C4 ;* Code section for initializing th
e heap and stack *
179 000000C4 ;* 堆和栈的初始化代
码 *
180 000000C4 ;*******************************************************
*************************************************
181 000000C4 00000000 AREA |.text|, CODE, READONLY
182 00000000
183 00000000 ;************************************************
184 00000000 ; The function expected of the C library startup
185 00000000 ;code for defining the stack and heap memory locations.
186 00000000 ; C语言启动库调用本代码初始化堆和栈
187 00000000 ;************************************************
188 00000000 IMPORT __use_two_region_memory
189 00000000 EXPORT __user_initial_stackheap
190 00000000 __user_initial_stackheap
191 00000000 4802 LDR R0, =HeapMem
192 00000002 4903 LDR R1, =(StackMem + Stack)
193 00000004 4A03 LDR R2, =(HeapMem + Heap)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -