|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我想请问DX,用S3C4510B怎样设计一个LED闪烁程序(包括ARM的启动代码,生成可以下载到ARM上的文件的整个过程)。在网上抄了一个程序,不知道是不是完整的。
1、如果芯片商提供了BOOTLOADER,那么是不是就写下面的两个程序就可以实现LED闪烁?
2、还有就是我怎样保证程序运行在用户模式呢?
3、我怎样改变用户模式呢(通过软件,而不是靠异常中断)?
4、这个汇编程序能在下面的一个C程序一起实现吗(只想用一个C程序)?
5、程序怎样可以复制到SRAM中呢?
;**************************************************************
;汇编部分
;**************************************************************
IMPORT Main
AREA Ini,CODE,READONLY
ENTRY
LDR R0, =0x3FF0000
LDR R1, =0xE7FFFF80
STR R1, [R0]
LDR SP, =0x3FE1000 ;这个在BOOTLOADER没有初始化吗?BOOTLOADER
;究竟做了些什么呢?
BL Main
B .
END
//***************************************************************
//C语言程序
//***************************************************************
#define IOPMOD (*(volatile unsigned *)0x03FF5000) //IO port mode register
#define IOPDATA (*(volatile unsigned *)0x03FF5008) //IO port data register
void Delay(unsigned int);
int Main()
{
unsigned long LED;
IOPMOD=0xFFFFFFFF; //将IO口置为输出模式
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++);
}
|
|