本帖最后由 617595187 于 2015-8-9 15:27 编辑
按照教程的步骤:
首先建立init.s文件
接下来建立main.c文件
代码从书册上拉下来的
#define GPH2_CON (*(vola
tile unsigned long *)0xE0200C40)
#define GPH2_DAT (*(volatile unsigned long *)0xE0200C44)
#define GPH2_PUD (*(volatile unsigned long *)0xE0200C48)
#define GPD0CON (*(volatile unsigned long *)0xE02000A0)
void clock_init(void);
void putc(char c);
void uart_init(void);
void putout(char * c);
int print(const char *fmt, ...);
static void Delay(int count)
{
volatile int i, j = 0;
volatile static int loop = 800000000/10000;
for(;count > 0;count‐‐)
for(i=0;i < loop; i++) { j++; }
}
void main(void)
{
int i;
GPD0CON &= ~(0xF << 0);//关闭蜂鸣器
GPH2_CON=CON=(GPH2_CON & ~0x0000FFFF)| 0x00001111;
clock_init();
uart_init();
//MP0_4DAT |= 0xF0;
for( i=4;i<8;i++)//关闭led
{
GPH2_DAT |= ( 1<< i);
Delay(100000);
}
char print[40]={'l','e','d','1',' ','i','s',' ','o','p','e','n'};
char print1[40]={'l','e','d','1',' ','i','s',' ','c','l','o','s','e'};
while(1)
{
for( i=0;i<4;i++)//循环点亮led
{
print[3]= i+48;
print1[3]= i+48;
GPH2_DAT &= ~( 1<< i);
putout(print);//输出打印信息
Delay(300000);
GPH2_DAT |= ( 1<< i);
putout(print1);// 输出打印信息
Delay(300000); }
}
}
最后建立makefile文件,这个文件主要是来定义编译的过程和原则,尤其要注意里面的arm-linux开头的命令的前面是用Tab,而不是空格。
三个文件放在一个文件夹下,在终端中跳转到该目录下
输入makefile后,理论上会编译产生bin文件,将bin文件下到
开发板,SD 卡启动即可看到led灯循环闪烁,可是我在编译是提示错误如下:
百度也未找到答案,小白一个,求帖友指导。