keil自带的s3c2440.s
我在keil uv4下生成了一个工程,用了自带的s3c2440.h
我写的main函数如下:
#include "s3c2440.h"
#define LED11<<5
#define LED21<<6
#define LED31<<7
#define LED41<<8
int i;
int main()
{
GPBCON=0x00015400;//设置GPB5,GPB6,GPB7,GPB8为输出
GPBDAT=0xfff;//设置输出为高电平,即全部的LED灯熄灭
while(1)
{
GPBDAT=~LED1;
}
}
在单步调试的时候,我发现根本就进不到我的main函数中。
事实上,程序进入__main入口后的__scatterload_zeroinit后就跳不出来了
__scatterload_zeroinit:
0x00000044 E3B03000 MOVS R3,#0x00000000
0x00000048 E3B04000 MOVS R4,#0x00000000
0x0000004C E3B05000 MOVS R5,#0x00000000
0x00000050 E3B06000 MOVS R6,#0x00000000
0x00000054 E2522010 SUBS R2,R2,#0x00000
0x00000058 28A10078 STMCSIA R1!,{R3-R6}
0x0000005C 8AFFFFFC BHI 0x00000054
0x00000060 E1B02E82 MOVS R2,R2,LSL #29
。。。
一直在标有红色的三个语句中循环,不知道什么原因,还望高手指点,谢谢
[解决办法]
0x00000054 E2522010 SUBS R2,R2,#0x00000
0x00000058 28A10078 STMCSIA R1!,{R3-R6}
0x0000005C 8AFFFFFC BHI 0x00000054
光看这 也看不出来,看看汇编程序那 初始化成功没
[解决办法]
编译器的设置问题吧,要把程序跳到SDRAM的入口地址吧
[解决办法]