日期:2014-05-16 浏览次数:20751 次
前言:使用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即为编译好的可执行程序名称。