第一章:搭建海思Hi3518E_SDK开发环境(1)

写在前面:

搭建海思Hi3518E_SDK开发环境分为1、2章,但是本章的第6节之后,走了点小弯路,但是还是留下来了

毕竟只是笔记而已,好好学习吧。


1、首先将Hi3518E_SDK_V1.0.3.0.tgz文件放入linux中,并解压。


2、这三个文件(脚本),了解一下,才能是如何编译海思的SDK



2.1、sdk.cleanup是用来清理编译的过的文件,make clean
2.2、sdk.unpack用来解压SDK的。
2.3、common文件中定义了很多函数。

3、修改过的代码记得要打包,要不然执行cleanup会将代码清除干净,然后从压缩包中又解压出来。

4、arm-hisiv300-linux 和 arm-hisiv400-linux。其中,arm-hisiv300-linux工具链对应uclibc库,arm-hisiv400-linux工具链对应glibc库。
uclibc库是精简版的,好处是比较小。
glibc库是gcc的标准库,很多功能都有,但是比较大。

5、具体命令如下

5.1、编译整个osdrv目录:

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3516cv200 all
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev201 all
或者
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3516cv200 all
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3518ev200 all
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3518ev201 all

5.2、清除整个osdrv目录的编译文件:
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3516cv200 clean
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 clean
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev201 clean
或者
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3516cv200 clean
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3518ev200 clean
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3518ev201 clean

5.3、彻底清除整个osdrv目录的编译文件,除清除编译文件外,还删除已编译好的镜像:
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3516cv200 distclean
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 distclean
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev201 distclean
或者
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3516cv200 distclean
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3518ev200 distclean
make OSDRV_CROSS=arm-hisiv400-linux CHIP=hi3518ev201 distclean

6、在Hi3518E_SDK_V1.0.3.0目录中,先执行./sdk.cleanup 清除当前目录里面的文件,在执行./sdk.unpack 解压开sdk里面的文件。这样以防里面残留文件影响我们的编译。


(弯路不做参考)6、安装一下交叉编译工具链,在SDK包里面有,通过查看makefile,我们可以得知,交叉编译工具链要安装在osdrv下。

接下来跳转到第二章的14点,先在/osdrv/opensource/toolchain/arm-hisiv300-linux下执行sudo ./cross.install.v300

7、执行make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all 会出现如下问题,百度之后可以得知的:pushd命令要在bash下才能使用,所以更改一下sh的链接地址即可。

执行命令:

which sh
which bash
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
ls /bin/sh -l

8、修改完成之后,执行相应的make指令,还是会出现错误,主要原因是我这里使用的是64位的ubuntu,所以要打32位的补丁才能正常使用。
       在交叉编译工具链的文件夹中使用file命令,可以看出这个交叉编译工具链是32位的,而我们的ubuntu是64位的。


9、给ubuntu16.0403X64安装32位兼容包
apt-get install lib32ncurses5 
apt-get install lib32z1​




  • 6
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值