跳转到主要内容

入门Edison系列——本机编译和交叉编译

editor 提交于

<br>首先我们准备交叉编译工具,下载地址:https://software.intel.com/zh-cn/iot/hardware/edison/downloads</br&gt;

下载的文件名:edison-sdk-linux64-ww25.5-15.zip

这里我存放在目录:~/Documents

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3922-1.png&…; alt=""></center>

<br>为了能让当前的计算机系统包含软件开发相关的工具和代码库,输入下面的命令:</br>

sudo apt-get install make automake gcc g++ build-essential gcc-multilib

我电脑里面已经安装了:

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3923-2.png&…; alt=""></center>

<br>上面我们已经安装过很多解压命令了,这里不再继续安装,直接对下载好的交叉工具软件包进行解压:</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3924-3.png&…; alt=""></center>

<br>加压后我们会得到一个文件夹:edison-sdk-linux64-ww25.5-15</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3925-4.png&…; alt=""></center>

<br>进入这个文件夹,发现里面有个.sh格式的可执行文件:</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3926-5.png&…; alt=""></center>

<br>我们直接运行这个可执行文件:</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3927-6.png&…; alt=""></center>

<br>如果不希望改变SDK的目录安装位置,直接回车完成整个脚本的执行就行了,默认将安装到目录:/opt/poky-edison/1.7.2 (最后的1.7.2根据下载版本的不同会有不同),我们进入安装目录:</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3928-7.png&…; alt=""></center>

<br>安装目录里面有个配置文件,配置在交叉编译的时候需要用到的各种具体工具,为了方便在交叉编译的时候不至于一个个找,我们运行下面的命令,配置一下环境:</br>

source environment-setup-core2-32-poky-linux

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3929-8.png&…; alt=""></center>

<br>下面我们交叉编译第一个程序:</br>

更具自己习惯选用编辑器编辑一个main.cpp程序,这里我用的是vim

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3930-9.png&…; alt=""></center>

<br>这里我将程序放在目录:~/edison_software</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3931-10.png…; alt=""></center>

<br>开始交叉编译,下面两种命令都可以:</br>

1、i586-poky-linux-g++ main.cpp -o hello_edison_cross

2、$CXX main.cpp -o hello_edison_cross (这里就是前面配置环境变量的作用)

编译完成后就会生成一个可执行文件 hello_edison_cross,我之前就编译过一次,这里我们来看一下文件的类型,用命令file hello_edison_cross,会发现是Intel 80386,这个程序在开发机中是无法运行的,你可以试试。

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3932-11.png…; alt=""></center>

<br>下面我们需要将编译好的可执行程序放到edison里面运行,方法很多,这里使用工具filezilla,首先我们在开发机中安装这个工具:</br>

sudo apt-get install fillzilla (我电脑上已经安装过了)

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3933-12.png…; alt=""></center>

<br>我们将程序导入到edison里面,具体目录/home/root,我们先查看一下,用screen功能登陆edison里面的linux,前面已经做过介绍,这里没有文件:</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3934-13.png…; alt=""></center>

<br>打开工具,直接在开发机端输入:filezilla</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3935-14.png…; alt=""></center>

<br>软件打开界面:</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3936-15.png…; alt=""></center>

<br>最上面的四个输入框口我们输入前面三个就行了,端口可以用默认的,具体输入看下面,是不是很熟悉,这就是我们在一开始板子配置时候设置的一些参数:</br>

Host:sftp://192.168.0.130

Username: jason

Password: 12345678

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3937-16.png…; alt=""></center>

<br>输入完成后点击右上方的Quickconnect,连接成功后显示下面界面:</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3938-17.png…; alt=""></center>

<br>为了在这里操作方便,我将可执行文件hello_edison_cross复制了一份到根目录下,找到这个文件,双击就会执行上传程序,完成后会软件上面窗口会提示successful,可以对比上面的图片进行查看</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3939-18.png…; alt=""></center>

<br>我们在回到之前登陆的edison的linux终端窗口进行查看,会发现多了文件:hello_edison_cross</br>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3940-19.png…; alt=""></center>

<br>在执行文件之前先修改一下文件权限,在edison登陆终端里面输入命令:</br>

Chmod +x hello_edison_cross

然后输入执行命令:./hello_edison_cross

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001628-3941-20.png…; alt=""></center>

<br>最终我们在edison登陆终端看到输出:hello world from cross-compiled Edison App</br>

至此,本机编译交叉编译程和程序下载已经完成!

文章来源:<a href="http://www.dfrobot.com.cn/community/forum.php?mod=viewthread&amp;tid=12…创客社区