全部博文(354)
分类: 嵌入式
2010-05-23 01:07:48
1
; 启动文件,初始化C程序的运行环境,然后进入C程序代码。
2
3
IMPORT |Image$$RO$$Limit|
4
IMPORT |Image$$RW$$Base|
5
IMPORT |Image$$ZI$$Base|
6
IMPORT |Image$$ZI$$Limit|
7
8
IMPORT Main ; 声明C程序中的Main()函数
9
10
AREA Start,CODE,READONLY ; 声明代码段Start
11 ENTRY ; 标识程序入口
12
CODE32 ; 声明32位ARM指令
13
14 Reset
LDR SP,=0x40003F00 ; 设置堆栈
15
16 ; 初始化C程序的运行环境
17
LDR R0,=|Image$$RO$$Limit|
18
LDR R1,=|Image$$RW$$Base|
19
LDR R3,=|Image$$ZI$$Base|
20
21
CMP R0,R1
22 BEQ LOOP1
23 LOOP0 CMP R1,R3
24
LDRCC R2,[R0],#4
25
STRCC R2,[R1],#4
26
BCC LOOP0
27
28 LOOP1
LDR R1,=|Image$$ZI$$Limit|
29
MOV R2,#0
30 LOOP2 CMP R3,R1
31
STRCC R2,[R3],#4
32
BCC LOOP2
33
34
B Main ; 跳转到C程序代码Main()函数
35
36
END