📄 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: Nilikao
19 00000000 ;** Modified date: 2007.12.14
20 00000000 ;** Version: 1.1
21 00000000 ;** Descriptions:
22 00000000 ;**
23 00000000 ;*******************************************************
**************************************************
24 00000000
25 00000000
26 00000000 ;*******************************************************
**************************************************
27 00000000 ;* Byte number of Main Stack 主堆栈的字节数
28 00000000 ;*******************************************************
**************************************************
29 00000000 00000100
Stack EQU 256
30 00000000
31 00000000
32 00000000 ;*******************************************************
**************************************************
33 00000000 ;* Byte number of the Heap 堆的字节数
34 00000000 ;*******************************************************
**************************************************
35 00000000 00000064
Heap EQU 100
36 00000000
37 00000000
38 00000000 ;*******************************************************
**************************************************
39 00000000 ;* Allocate space for Main Stack 主堆栈分配的空间
40 00000000 ;*******************************************************
**************************************************
ARM Macro Assembler Page 2
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 the 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 that are use
d by the application.
56 00000064 ;* 本应用所用到的中断函数的声明
57 00000064 ;*******************************************************
**************************************************
58 00000064 EXTERN OSPendSV
59 00000064 EXTERN tickISRHandler
60 00000064
61 00000064
62 00000064 ;*******************************************************
**************************************************
63 00000064 ;* Indicate that the code in this file preserves 8-byte
alignment of the stack.
64 00000064 ;* 本文件的代码对堆栈8字节对齐保护
65 00000064 ;*******************************************************
**************************************************
66 00000064 PRESERVE8
67 00000064
68 00000064
69 00000064 ;*******************************************************
**************************************************
70 00000064 ;* Reset code section.
71 00000064 ;* 复位代码
72 00000064 ;*******************************************************
**************************************************
73 00000064 AREA RESET, CODE, READONLY
74 00000000 THUMB
75 00000000
76 00000000 ;*******************************************************
**************************************************
77 00000000 ;* The vector table.
78 00000000 ;* 向量表
79 00000000 ;*******************************************************
**************************************************
80 00000000 EXPORT __Vectors
ARM Macro Assembler Page 3
81 00000000 __Vectors
82 00000000 00000100 DCD StackMem + Stack ; Top of Stack
83 00000004 00000000 DCD Reset_Handler ; Reset Handler
84 00000008 00000000 DCD NmiSR ; NMI Handler
85 0000000C 00000000 DCD IntDefaultHandler ; Hard Fault
Handler
86 00000010 00000000 DCD IntDefaultHandler
; MPU Fault Handler
87 00000014 00000000 DCD IntDefaultHandler
; Bus Fault Handler
88 00000018 00000000 DCD IntDefaultHandler ; Usage Fault
Handler
89 0000001C 00000000 DCD 0 ; Reserved
90 00000020 00000000 DCD 0 ; Reserved
91 00000024 00000000 DCD 0 ; Reserved
92 00000028 00000000 DCD 0 ; Reserved
93 0000002C 00000000 DCD IntDefaultHandler
; SVCall Handler
94 00000030 00000000 DCD IntDefaultHandler ; Debug Monit
or Handler
95 00000034 00000000 DCD 0 ; Reserved
96 00000038 00000000 DCD OSPendSV ; PendSV Handler
97 0000003C 00000000 DCD tickISRHandler
; SysTick Handler
98 00000040 00000000 DCD IntDefaultHandler ; GPIO Port A
99 00000044 00000000 DCD IntDefaultHandler ; GPIO Port B
100 00000048 00000000 DCD IntDefaultHandler ; GPIO Port C
101 0000004C 00000000 DCD IntDefaultHandler ; GPIO Port D
102 00000050 00000000 DCD IntDefaultHandler ; GPIO Port E
103 00000054 EXTERN uart0_ISR
104 00000054 00000000 DCD uart0_ISR ; UART0
105 00000058 00000000 DCD IntDefaultHandler ; UART1
106 0000005C 00000000 DCD IntDefaultHandler ; SSI
107 00000060 00000000 DCD IntDefaultHandler ; 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
; ADC Sequence 1
115 00000080 00000000 DCD IntDefaultHandler
; ADC Sequence 2
116 00000084 00000000 DCD IntDefaultHandler
; ADC Sequence 3
ARM Macro Assembler Page 4
117 00000088 00000000 DCD IntDefaultHandler ; Watchdog
118 0000008C 00000000 DCD IntDefaultHandler ; Timer 0A
119 00000090 00000000 DCD IntDefaultHandler ; Timer 0B
120 00000094 00000000 DCD IntDefaultHandler ; 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 00000000 DCD IntDefaultHandler ; GPIO Port F
130 000000BC 00000000 DCD IntDefaultHandler ; GPIO Port G
131 000000C0 00000000 DCD IntDefaultHandler ; GPIO Port H
132 000000C4 00000000 DCD IntDefaultHandler
; UART2 Rx and Tx
133 000000C8 00000000 DCD IntDefaultHandler
; SSI1 Rx and Tx
134 000000CC 00000000 DCD IntDefaultHandler ; Timer 3 sub
timer A
135 000000D0 00000000 DCD IntDefaultHandler ; Timer 3 sub
timer B
136 000000D4 00000000 DCD IntDefaultHandler ; I2C1 Master
and Slave
137 000000D8 00000000 DCD IntDefaultHandler ; Quadrature
Encoder 1
138 000000DC 00000000 DCD IntDefaultHandler ; CAN0
139 000000E0 00000000 DCD IntDefaultHandler ; CAN1
140 000000E4 00000000 DCD 0 ; Reserved
141 000000E8 00000000 DCD IntDefaultHandler ; Ethernet
142 000000EC 00000000 DCD IntDefaultHandler ; Hibernate
143 000000F0
144 000000F0
145 000000F0 ;*******************************************************
**************************************************
146 000000F0 ;* Reset entry
147 000000F0 ;* 复位入口点
148 000000F0 ;*******************************************************
**************************************************
149 000000F0 EXPORT Reset_Handler
150 000000F0 Reset_Handler
151 000000F0 IMPORT __main
152 000000F0 4802 LDR R0, =__main
153 000000F2 4700 BX R0
154 000000F4
155 000000F4
156 000000F4 ;*******************************************************
**************************************************
157 000000F4 ;* NMI exception handler.
158 000000F4 ;* It simply enters an infinite loop.
159 000000F4 ;* 不可屏蔽异常处理程序。简单地进入死循环
160 000000F4 ;*******************************************************
**************************************************
ARM Macro Assembler Page 5
161 000000F4 NmiSR
162 000000F4 E7FE B NmiSR
163 000000F6
164 000000F6
165 000000F6 ;*******************************************************
**************************************************
166 000000F6 ;* Fault interrupt handler.
167 000000F6 ;* It simply enters an infinite loop.
168 000000F6 ;* 错误中断处理程序。简单地进入死循环
169 000000F6 ;*******************************************************
**************************************************
170 000000F6 FaultISR
171 000000F6 E7FE B FaultISR
172 000000F8
173 000000F8
174 000000F8 ;*******************************************************
**************************************************
175 000000F8 ;* Unexpected interrupt handler.
176 000000F8 ;* It simply enters an infinite loop.
177 000000F8 ;* 无期待的中断处理程序。简单地进入死循环
178 000000F8 ;*******************************************************
**************************************************
179 000000F8 IntDefaultHandler
180 000000F8 E7FE B IntDefaultHandler
181 000000FA
182 000000FA
183 000000FA ;*******************************************************
**************************************************
184 000000FA ;* Make sure the end of this section is aligned.
185 000000FA ;* 确保本段的末尾对齐
186 000000FA ;*******************************************************
**************************************************
187 000000FA 00 00 ALIGN
188 000000FC
189 000000FC
190 000000FC
191 000000FC ;*******************************************************
**************************************************
192 000000FC ;* Code section for initializing the heap and stack
193 000000FC ;* 堆和栈的初始化代码
194 000000FC ;*******************************************************
**************************************************
195 000000FC 00000000 AREA |.text|, CODE, READONLY
196 00000000
197 00000000 ;*******************************************************
**************************************************
198 00000000 ;* The function expected of the C library startup
199 00000000 ;* code for defining the stack and heap memory location
s.
200 00000000 ;* C语言启动库调用本代码初始化堆和栈
201 00000000 ;*******************************************************
**************************************************
202 00000000 IMPORT __use_two_region_memory
203 00000000 EXPORT __user_initial_stackheap
204 00000000 __user_initial_stackheap
205 00000000 4802 LDR R0, =HeapMem
206 00000002 4903 LDR R1, =(StackMem + Stack)
ARM Macro Assembler Page 6
207 00000004 4A03 LDR R2, =(HeapMem + Heap)
208 00000006 4B04 LDR R3, =StackMem
209 00000008 4770 BX LR
210 0000000A
211 0000000A
212 0000000A ;*******************************************************
**************************************************
213 0000000A ;* Make sure the end of this section is aligned.
214 0000000A ;* 确保本段的末尾对齐
215 0000000A ;*******************************************************
**************************************************
216 0000000A 00 00 ALIGN
217 0000000C
218 0000000C
219 0000000C ;*******************************************************
**************************************************
220 0000000C ;* End Of File
221 0000000C ;*******************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -