海思3518E开发笔记1.3——海思64位交叉编译工具链安装

目录

  • 分析
  • 安装兼容包
  • 错误解决

分析

在上一篇博文中,配置好makefile中的交叉编译工具链路径后依然显示找不到路径
那么问题就在于交叉编译工具链可能是32位,而开发环境是64位的

通过file指令查看
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第1张图片
果然是32位的,而虚拟机是64位的,所以不能运行

有两个解决方案

  • 换32ubuntu
  • 装32位兼容包

安装兼容包

sudo apt-get update
sudo apt install gcc-multilib
sudo apt-get install lib32z1

解决标志是运行-v出现版本号
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第2张图片

错误解决

在兼容32位后,依然报错找不到交叉编译工具链,那么只能说是路径问题了

于是我们去修改MAKEFILE中的路径
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第3张图片
看到makefile中第一行为DIR,则认为它是路径,在修改完路径后发现报错没有变化
阅读readme,发现OSDRV_CROSS参数是交叉编译工具链指定,而编译选项会覆盖makefile中的配置,所以无效
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第4张图片
解决方法:
配置环境变量

export PATH=/home/p08/HiSpark/Hi3518E_SDK_V1.0.3.0/osdrv/arm-hisiv300-linux/bin:$PATH

查看环境变量echo $PATH

确认无误后在~下直接执行

arm-hisiv300-linux-uclibcgnueabi-gcc -v

出现版本号,配置无误

这是临时配置的方法
也可也配置永久的环境变量
将此环境变量写到.bashrc

发现还是一样的报错
再次检查makefile
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第5张图片
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第6张图片
和交叉编译工具链中的名字不一样

于是有了两个解决方案

  • 修改make时传参的名字
  • 给安装好的交叉编译工具链船舰符号链接

最简单的时编译选项的名字

make OSDRV_CROSS=arm-hisiv300-linux-uclibcgnueabi CHIP=hi3518ev200 all

此时又出现了错误
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第7张图片
检查MAKEFILE
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第8张图片
可以看到,MAKEFILE不认我们改的名字。如果通过改名字的话,需要修改的东西就太多了

浏览交叉编译工具链中安装的脚本文件,可以看到
脚本会把交叉编译工具链安装到/opt/hisi-linux/x86-arm路径下
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第9张图片
并且有链接的功能
海思3518E开发笔记1.3——海思64位交叉编译工具链安装_第10张图片
所以我们直接用它就好了
直接执行

执行完后进入目录

cd /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/

执行-v
能看到版本号说明没有问题
再次修改环境变量的配置

执行编译,发现能够成功编译

你可能感兴趣的:(海思Hi3518E开发笔记)