TA的每日心情 | 慵懒 2016-10-17 12:07 |
---|
签到天数: 306 天 连续签到: 1 天 [LV.8]以坛为家I
|
作为IT行业的孩纸,Eclipse应该都不陌生,都用它写过程序,下面来以一个简单的Demo,来在Eclipse中配置ARM交叉编译环境,开发程序在sin210中运行。
以下的Demo使用的就是Twinkle_LED的程序,具体可参看上个帖子。
首先下载安装Eclipse,笔者使用的是Ubuntu 12.04 LTS amd64。具体安装Eclipse和安装配置java,这个我是使用的apt-get安装的,这里就不详细介绍了。以下内容假设你已经安装好了Eclipse。
打开Eclipse,新建一个C Project 如下图所示,然后点击Next ,在下一步点击Finish。
新建一个sin210.c 文件添加到sin210项目中,sin210.c中的代码如下:
#include #include #include #include #include #include #define LED1 0 #define LED2 1 #define LED3 2 #define LED4 3 int main(int argc, char **argv) { unsigned int count = 0; printf("\nThe LEDs start Twinkle\n"); int fdled = -1; usleep(500*1000); fdled = open("/dev/led",O_RDWR); if(fdled<0) { printf("Error:Can't open /dev/leds\n"); return -1; } printf("\nThe LEDs start Twinkle\n"); while(1) { count++; ioctl(fdled, count%2, LED1); ioctl(fdled, (count%4)/2, LED2); ioctl(fdled, (count%8)/4, LED3); ioctl(fdled, (count)/8, LED4); usleep(500*1000); } return 0; } 直达楼层 1# 发表于 2015-02-17 00:36:50 我想评分 回到列表 收藏此帖 作为IT行业的孩纸,Eclipse应该都不陌生,都用它写过程序,下面来以一个简单的Demo,来在Eclipse中配置ARM交叉编译环境,开发程序在sin210中运行。 以下的Demo使用的就是Twinkle_LED的程序,具体可参看这个帖子(SIN210学习笔记__Twinkle LED )。
首先下载安装Eclipse,笔者使用的是Ubuntu 12.04 LTS amd64。具体安装Eclipse和安装配置java,这个我是使用的apt-get安装的,这里就不详细介绍了。以下内容假设你已经安装好了Eclipse。
打开Eclipse,新建一个C Project 如下图所示,然后点击Next ,在下一步点击Finish。
新建一个sin210.c 文件添加到sin210项目中,sin210.c中的代码如下:
view plaincopy to clipboardprint?
- #include
- #include
- #include
- #include
- #include
- #include
- #define LED1 0
- #define LED2 1
- #define LED3 2
- #define LED4 3
- int main(int argc, char **argv)
- {
- unsigned int count = 0;
- printf("\nThe LEDs start Twinkle\n");
- int fdled = -1;
- usleep(500*1000);
- fdled = open("/dev/led",O_RDWR);
- if(fdled<0)
- {
- printf("Error:Can't open /dev/leds\n");
- return -1;
- }
- printf("\nThe LEDs start Twinkle\n");
- while(1)
- {
- count++;
- ioctl(fdled, count%2, LED1);
- ioctl(fdled, (count%4)/2, LED2);
- ioctl(fdled, (count%8)/4, LED3);
- ioctl(fdled, (count)/8, LED4);
- usleep(500*1000);
- }
- return 0;
- }
#include #include #include #include #include #include #define LED1 0 #define LED2 1 #define LED3 2 #define LED4 3 int main(int argc, char **argv) { unsigned int count = 0; printf("\nThe LEDs start Twinkle\n"); int fdled = -1; usleep(500*1000); fdled = open("/dev/led",O_RDWR); if(fdled<0) { printf("Error:Can't open /dev/leds\n"); return -1; } printf("\nThe LEDs start Twinkle\n"); while(1) { count++; ioctl(fdled, count%2, LED1); ioctl(fdled, (count%4)/2, LED2); ioctl(fdled, (count%8)/4, LED3); ioctl(fdled, (count)/8, LED4); usleep(500*1000); } return 0; }
在sin210项目 点击右键 &mdash;> 属性 设置C/C++ Build -> Manage Configurations... 添加 ARM 然后设置成Active。
如下图所示:
点击 Settings 设置Cross GCC Compiler 和 Cross GCC Linker 两项的 Command 如下图所示,将 gcc 改为 arm-linux-gcc
点击编译即可在项目的ARM文件夹下生成可执行文件 sin210
(刚这个程序的代码,在eclipse编译产生的可执行文件大概是44K左右,而上篇帖子用Makefile,生成的可执行文件大概是5.6K左右。。。)
发送到开发板上,然后执行即可看到效果,开发板上的4个LED以不同的频率闪烁。
串口打印信息如下:
|
|
|