首先我们准备交叉编译工具,下载地址:https://software.intel.com/zh-cn/iot/hardware/edison/downloads
下载的文件名:edison-sdk-linux64-ww25.5-15.zip
这里我存放在目录:~/Documents

为了能让当前的计算机系统包含软件开发相关的工具和代码库,输入下面的命令:
sudo apt-get install make automake gcc g++ build-essential gcc-multilib
我电脑里面已经安装了:

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

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

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

我们直接运行这个可执行文件:

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

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

下面我们交叉编译第一个程序:
更具自己习惯选用编辑器编辑一个main.cpp程序,这里我用的是vim

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

开始交叉编译,下面两种命令都可以:
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,这个程序在开发机中是无法运行的,你可以试试。

下面我们需要将编译好的可执行程序放到edison里面运行,方法很多,这里使用工具filezilla,首先我们在开发机中安装这个工具:
sudo apt-get install fillzilla (我电脑上已经安装过了)

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

打开工具,直接在开发机端输入:filezilla

软件打开界面:

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

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

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

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

在执行文件之前先修改一下文件权限,在edison登陆终端里面输入命令:
Chmod +x hello_edison_cross
然后输入执行命令:./hello_edison_cross

最终我们在edison登陆终端看到输出:hello world from cross-compiled Edison App
至此,本机编译交叉编译程和程序下载已经完成!
文章来源:DF创客社区