查看: 5201|回复: 4

[入门教程] 菜鸟入门edison系列(五):本机编译和交叉编译

[复制链接]
接:菜鸟入门edison系列(四):Edison固件更新
http://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=12549&fromuid=72181
本机编译和交叉编译:
首先我们准备交叉编译工具,下载地址:https://software.intel.com/zh-cn/iot/hardware/edison/downloads
下载的文件名:edison-sdk-linux64-ww25.5-15.zip
这里我存放在目录:~/Documents
1.png
为了能让当前的计算机系统包含软件开发相关的工具和代码库,输入下面的命令:
sudo apt-get install make automake gcc g++ build-essential gcc-multilib
我电脑里面已经安装了:
2.png
上面我们已经安装过很多解压命令了,这里不再继续安装,直接对下载好的交叉工具软件包进行解压:
3.png
加压后我们会得到一个文件夹:edison-sdk-linux64-ww25.5-15
4.png
进入这个文件夹,发现里面有个.sh格式的可执行文件:
5.png
我们直接运行这个可执行文件:
6.png
如果不希望改变SDK的目录安装位置,直接回车完成整个脚本的执行就行了,默认将安装到目录:/opt/poky-edison/1.7.2 (最后的1.7.2根据下载版本的不同会有不同),我们进入安装目录:
7.png
安装目录里面有个配置文件,配置在交叉编译的时候需要用到的各种具体工具,为了方便在交叉编译的时候不至于一个个找,我们运行下面的命令,配置一下环境:
source environment-setup-core2-32-poky-linux
8.png
下面我们交叉编译第一个程序:
更具自己习惯选用编辑器编辑一个main.cpp程序,这里我用的是vim
9.png
这里我将程序放在目录:~/edison_software
10.png
开始交叉编译,下面两种命令都可以:
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,这个程序在开发机中是无法运行的,你可以试试。
11.png
下面我们需要将编译好的可执行程序放到edison里面运行,方法很多,这里使用工具filezilla,首先我们在开发机中安装这个工具:
sudo apt-get install fillzilla   (我电脑上已经安装过了)
12.png
我们将程序导入到edison里面,具体目录/home/root,我们先查看一下,用screen功能登陆edison里面的linux,前面已经做过介绍,这里没有文件:
13.png
打开工具,直接在开发机端输入:filezilla
14.png
软件打开界面:
15.png
最上面的四个输入框口我们输入前面三个就行了,端口可以用默认的,具体输入看下面,是不是很熟悉,这就是我们在一开始板子配置时候设置的一些参数:
Username: jason
Password: 12345678
16.png
输入完成后点击右上方的Quickconnect,连接成功后显示下面界面:
17.png
为了在这里操作方便,我将可执行文件hello_edison_cross复制了一份到根目录下,找到这个文件,双击就会执行上传程序,完成后会软件上面窗口会提示successful,可以对比上面的图片进行查看
18.png
我们在回到之前登陆的edison的linux终端窗口进行查看,会发现多了文件:hello_edison_cross
19.png
在执行文件之前先修改一下文件权限,在edison登陆终端里面输入命令:
Chmod +x hello_edison_cross
然后输入执行命令:./hello_edison_cross
20.png
最终我们在edison登陆终端看到输出:hello world from cross-compiled Edison App
至此,本机编译交叉编译程和程序下载已经完成!

夏尔.jpg

drink  中级技师

发表于 2015-8-12 15:59:00

有windows下实现交叉编译的过程吗
回复 支持 反对

使用道具 举报

Jason_G  高级技师
 楼主|

发表于 2015-8-12 16:47:26

drink 发表于 2015-8-12 15:59
有windows下实现交叉编译的过程吗

目前我用的开发环境是linux,所以windows下的开发还了解不多
回复 支持 反对

使用道具 举报

孙毅  版主

发表于 2015-8-12 17:07:59

drink 发表于 2015-8-12 15:59
有windows下实现交叉编译的过程吗

可以的,稍后会出Windows上的教程。用Arduino IDE 和 eclipse 都没问题的
回复 支持 反对

使用道具 举报

Jason_G  高级技师
 楼主|

发表于 2015-8-12 22:05:03

孙毅 发表于 2015-8-12 17:07
可以的,稍后会出Windows上的教程。用Arduino IDE 和 eclipse 都没问题的

:handshake
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail