|
Init.s如下
IMPORT main
AREA Init,CODE,READONLY
ENTRY
LDR R0, =0x3FF0000
LDR R1, =0xe7ffff80
STR R1,[R0]
LDR SP, =0x3fe1000
BL main
B .
END
main.c如下:
#define IOPMOD (*(volatile unsigned *)0x03FF5000)
#define IOPDATA (*(volatile unsigned *)0x03FF500
void Delay(unsigned int);
int main(void)
{
unsigned long LED;
IOPMOD=0xEFFFFFFF;
IOPDATA=0x01;
for(; ;)
{ LED=IOPDATA;
LED=(LED<<1);
IOPDATA=LED;
Delay(10);
if(!(IOPDATA&0x0F))
IOPDATA=0x01;
}
return 0;
}
void Delay(unsigned int x)
{
unsigned int i,j,k;
for(i=0;i<x;i++)
for(j=0;j<0xff;j++)
for(k=0;k<0xff;k++);
}
我在ads1.2里单个文件compile没有错误,使用make 按钮就提示警告:
Image dose not have an entry point.(Not specified or not set due to multiple choses.),每个project都必须有Init.s文件吗?
另外,在CMD.exe里使用armcc,对应用程序的路径有什么要求吗?且使用命令方式编译连接要输很多命令,没有窗口方式来的简单,为什么还有很多人使用命令方式,命令方式有什么好处吗?谢谢!
上面这个程序是拷贝微芯力出的<<arm开发祥解>>第六章的程序。 |
|