本帖最后由 silverze 于 2016-6-2 20:25 编辑
虽说Hikey搭载了海思的64位处理器,运行速度、内存等都足够直接在其本机上编写软件了,但是我还是希望在电脑上编程,然后上传到开发板上去运行。 接下来,记录一下交叉编译开发环境的搭建过程。
系统:
主机:Win7 64位
虚拟机:Ubuntu 12.04 32位系统
第一步:下载交叉编译工具链。这里需要根据自己的系统下载,开始我下载了个32位的工具链,在64位的Ubuntu上去编译程序时出现了,问题;不过我还有一个32位的虚拟机,所以解决了这个尴尬的问题。
第二步:解压文件、添加路径。使用命令:
tar --strip-components=1 -C ~/arm64-tc gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar.xz
解压成功后,设置一下编译器的路径,方便使用。
在用户目录下.bashrc 中添加:
export PATH=/home/user/arm64-tc/bin:$PATH 其中user为使用Linux的用户名。
完成上述两步后,可以在终端中输入 :
aarch64-linux-gnu-gcc -v
如果输出如下,说明之前的工作是OK的。
第三步:下载eclipse,同样要注意系统是32位还是64位的。并且系统中要有Java环境。测试Java环境可执行下面的指令:java -version
32位的系统,下载地址:
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-cpp-lunaSR2-linux-gtk.tar.gz
64位的系统,下载地址:
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-cpp-lunaSR2-linux-gtk-x86_64.tar.gz
下载完成后,解压即能使用eclipse。
使用下面的命令:
tar xz eclipse-cpp-luna-SR2-linux-gtk.tar.gz
切换到解压出来的目录下,可以运行./eclipse 。当然把这个弄成桌面连接启动就符合windows下的操作了。
第四步:测试一下整个环境。
完成后,我修改了打印信息:
接着按下ctrl+B 完成编译。在test工程目录下生成一个Debug文件夹;
生成的test 为在arm 64位处理器上的可执行文件。
第五步:将上面操作过程,生成的test可执行文件传输到Hikey 开发板上运行。
在虚拟机中开一个终端①,连接上Hikey:
ssh -l linaro 192.168.1.123
(192.168.1.123 为Hikey开发板的IP地址)
并输入linaro 的登陆密码即可:
在虚拟机中开一个新的终端②,打开FTP客户,传输文件到Hikey板上:
ftp 192.168.1.123
在提示中输入用户名:linaro,输入密码:linaro
此时,在FTP命令行下。通过cd 指令可以切换目录,切换的目录为Hikey板目录。如图,标号①
可以在FTP命令行中执行pwd 图中标号②,判断标号①的指令是不是正确的。从终端输出信息,可以确定当前的路径是在Hikey开发板上目录:/home/linaro/workspace
知道了当前路径后,通过上图标号③指令传输test可执行文件到开发板上。
put /home/user/mywork/test/Debug/test test
该指令前一截是虚拟机test文件的路径,后一截test是FTP传输到Hikey开发板上的文件名。
现在回到之前的终端①,执行下面的指令看看结果。输出信息正是我第四步中修改的"!!!Hikeyboard!!!"
通过上面的几个步骤就完成了,Hikey开发板的交叉编译开发环境搭建,以及将生成的可执行文件传输到开发板上运行的全部过程。