以前我们开发的arm基本都是32位的,比如经典的s3c2440等。近几年64位的arm逐渐流行起来了。试想,如果cpu性能足够强大,则完全可以抛弃交叉编译器了,程序在自身的arm平台编译并运行即可。
1. 编译器咱们使用老外的Linaro公司的开源编译器,我们可以下载打包好的二进制包安装即可,非常方便。这家活雷锋公司的网址是:https://www.linaro.org/ 有兴趣的网友可以登录进去逛逛,有不少其他有用的资源呢。一些发行版看这里:https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/
只要这个装好了,其他的开发都不用愁了,它可以交叉编译ARMv8 64位目标中的裸机程序、u-boot、Linux kernel、filesystem和App应用。
2. 咱们使用资料包里下载好的文件进行安装,直接运行shell脚本文件即可。如何所示操作:
3. 配置环境变量
每次电脑重启后都要source一下编译器安装目录的环境变量,很麻烦,所以我们可以把此环境变量写入 /etc/profile文件中,以后每次就不用记忆一长串的路径名了。
把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:sudo gedit /etc/profile编辑profile文件,在文件最后一行添加环境变量, 在profile中最后一行添加:
exportPATH=$PATH:/opt/myir-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux
复制代码然后使用命令:
source/etc/profile
复制代码使环境变量生效(在不同用户下最好都运行一下此语句,例如$和root用户下都运行一下)。
检查是否将路径加入到PATH:
echo$PATH
复制代码至此,我们的编译器就安装成功了!后面的uboot,Linux,rootfs,都可以靠它啦!效果如下图所示,可以查看版本信息。