使用EclipseCDT搭建Beaglebone Linux开发环境

来源:互联网 发布:c语言const函数 编辑:程序博客网 时间:2024/05/18 09:21
 

使用EclipseCDT搭建Beaglebone Linux开发环境

分类: BeagleBone 1494人阅读 评论(5) 收藏 举报
beaglebonelinux交叉编译

今天看了很久 Derek Molly的视频https://www.youtube.com/watch?v=vFv_-ykLppo&list=PLF4A1A7E09E5E260A,最后终于成功搭建好Beaglebone Linux的开发环境,在此记录一下。

我的主机环境: Ubuntu 12.04+Eclipse (Kepler Service Release 1), 开发板是Beaglebone Black, 开发板的操作系统是 Angstrom v2012.12 

先说一句,通过ssh远程登陆到Beaglebone中,通过安装g++(opkg install g++)也是可以开发的,但是调试时未免麻烦。


下面进入正题:

  1. 首先下载Eclipse + CDT plugin,现在可以直接下载集成好的,下载地址为http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr1 ,打开链接后在页面右侧有Download Link,可以根据自己的操作系统进行选择,我的是 Linux 64bit。
  2. 下载好之后直接解压就可以使用了(起码Linux是这样),无需安装。
  3. 为了能够更方便地通过PC来查看、操作Beaglebone,以及更加方便地调试,需要安装另外一个插件, RSE-runtime。 打开Eclipse之后,依次选择Help -> Install new software, 在弹出来的对话框里的第一个输入框里输入Kepler - http://download.eclipse.org/releases/kepler,之后Eclipse会联网下载可更新软件目录,下载目录完成后,对话框的中间会有很多插件可供安装,点击 Mobile and Device Development 前面的小三角,在展开的目录项中勾选    Remote System Explorer End-User Runtime,然后按照提示即可安装完成。如下图所示:
  4. 接着来验证一下是否顺利安装成功了。要先确保安装好Linux操作系统的Beaglebone Black和计算机已经可靠连接。回到Eclipse主界面,选择 Window -> Show View -> Other, 弹出的对话框中选择 Remote System, 点击OK。Remote System的窗口就会显示在界面的下方,可以根据需要把这个窗口拖放的自己喜欢的位置,我把它拖到了界面的左侧,和Project Explorer处于同一位置。                                                                                                                                                                                                                         a. 在Remote System 窗口中右击,然后选择New -> Connection, 弹出如下图所示的对话框
             b. 选择Linux, 单击Next。
             c. 然后,按照下图进行设置:
             
             其中Host Name填写BeagleboneBlack的IP地址,第二条会自动填写。Description可以任意填写一个自己喜欢用的名字。
             点击Next。
             d. 勾选Configuration中的ssh.files,点击Next:
             
             
             e. 勾选Configuration中的processes.linux.shell,点击Next:
             
      
             f. 勾选Configuration中的ssh.linux,点击Finish:
             
            g. 右击Ssh Terminals, 选择Connect, 在弹出的对话框中填写Beaglebone Black 上Linux中的用户名和密码,就可以登陆了。右击Ssh Terminal,选择Launch Terminal,可                    以在下方的窗口中看到Terminal,这样,就已经远程登陆到Linux中了。 试一试,可以交互:
            

5. 下面编写一个C++程序控制Beaglebone Black上4个User LED的亮灭(这里先以控制一个为例):
  • 新建一个C++ Project
  • 源程序为
    [cpp] view plaincopy
    1. #include <iostream>  
    2. #include <stdio.h>  
    3. using namespace std;  
    4.   
    5. int main() {  
    6.     cout << "LED 1 starts flashing" << endl;  
    7.   
    8.     FILE *LEDHandle = NULL;  
    9.     char *LED1Brightness = "/sys/class/leds/beaglebone:green:usr1/brightness";  
    10.   
    11.     for(int i=0; i<10; i++)  
    12.     {  
    13.         if((LEDHandle=fopen(LED1Brightness, "r+"))!=NULL)  
    14.         {  
    15.             fwrite("1"sizeof(char), 1, LEDHandle);  
    16.             sleep(1);  
    17.             fclose(LEDHandle);  
    18.         }  
    19.   
    20.         if((LEDHandle=fopen(LED1Brightness, "r+"))!=NULL)  
    21.         {  
    22.             fwrite("0"sizeof(char), 1, LEDHandle);  
    23.             sleep(1);  
    24.             fclose(LEDHandle);  
    25.         }  
    26.     }  
    27.     cout << "LED 1 ends flashing" << endl;  
    28.     return 0;  
    29. }  

  • 下面配置交叉编译的工具,首先下载arm-linux-gnueabi, 直接在Ubuntu中输入
    [plain] view plaincopy
    1. sudo apt-get install arm-linux-gnueabi  
    然后单击工程, 选择Project->Properties-> C/C++ Build -> Settings, 将GCC  C++ Compiler 和GCC  C++ Linker中的Command改为arm-linux-gnueabi-g++,将GCC  C Compiler的Command改为arm-linux-gnueabi-gcc, 将GCC Assembler的Command 改为arm-linux-gnueabi-as。同一窗口中,进入C/C++ General -> Paths and Symbols, Includes选项卡中选择 GNU C, 添加/usr/arm-linux-gnueabi/include,添加方式就是点击ADD, 然后选择目录,并单击Apply to all configurations:                                                                                                                                                                                                                                                                    成功添加之后如下:  同样的方法,为GNU C++添加 /usr/arm-linux-gnueabi/include/c++/4.6.3,为Library Paths选项卡添加/usr/arm-linux-gnueabi/lib。这样,就顺利配置好交叉编译器了。可以编译了。
  • Build All。编译万整个工程之后, 在Project Explorer中可以看到成功编译出的可执行文件。
  • 复制可执行文件,切换到RemoteSystem窗口,粘贴到 Beaglebone Black根目录下。在下方的Terminal中输入
    [plain] view plaincopy
    1. chmod a+x  Helloworld  
    2. ./Helloworld  

    可以看见User Led已经在闪了,同时Terminal中出现了一句话:                                  20秒以后,User Led熄灭,同时Terminal中输出另一句:
成功了!

0 0
原创粉丝点击