日期:2014-05-16 浏览次数:20950 次
前言:使用eclipse开发嵌入式linux程序和pc linux程序几乎没有区别,并且使用eclipse图形界面的集成开发环境上手简单,方便学习,这里就教大家开发第一个嵌入式linux程序,程序功能就是测试上次写好的LED驱动程序。
1.新建工程

输入工程名称,选择可执行程序,选择cross GCC,下一步,选择填写arm-linux-gcc的路径,这一步按照自己的实际情况进行填写

点击完成即可
2.输入代码并编译

代码很简单的,只是一个实例
/****************************************************************************************************************
*文件名		:	main.c
*主要功能		:	LED测试
*作者       	:	异灵元(cp1300@139.com)
*创建时间		:	2012下午11:52:59
*最后修改时间	:	2012下午11:52:59
*说明		:	使用OK6410开发板,测试自己写的LED驱动
****************************************************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <unistd.h>
int main(void)
{
	int fd;
	int retval;
	unsigned char led;
	//LED测试
	printf("LED test...\n");
	fd = open("/dev/OK6410_LED",O_RDWR);		//open led,注意:是驱动模块名,不是驱动文件名
	if(fd == -1)
	{
		printf("open led error!\n");
		exit(-1);
	}
	else
	{
		printf("open led ok!\n");
	}
	while(1)
	{
		for(retval = 0;retval < 4;retval ++)
		{
			led = 1 << retval;
			led = ~led;
			write(fd,&led,sizeof((unsigned char)1));
			//read(fd,&led,sizeof((unsigned char)1));
			//printf("LED = 0x%X\n",led);
			usleep(1000 * 100);	//100MS
		}
		for(retval = 2;retval > 0;retval --)
		{
			led = 1 << retval;
			led = ~led;
			write(fd,&led,sizeof((unsigned char)1));
			//read(fd,&led,sizeof((unsigned char)1));
			//printf("LED = 0x%X\n",led);
			usleep(1000 * 100);	//100MS
		}
	}
	close(fd);
	exit(0);
}
3.执行程序
将程序复制到开发板执行,如果挂载了NFS就可以直接运行了,运行结果如下,当然还可以看到开发板的灯在来回跑动。。。

有的时候程序无法运行,需要添加可执行属性
执行:chmod +x xxxx xxxx即为编译好的可执行程序名称。