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

写在前面:

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

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


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

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

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下。
第一章:搭建海思Hi3518E_SDK开发环境(1)_第2张图片

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

7、执行make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all 会出现如下问题,百度之后可以得知的:pushd命令要在bash下才能使用,所以更改一下sh的链接地址即可。
第一章:搭建海思Hi3518E_SDK开发环境(1)_第3张图片

执行命令:

which sh
which bash
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
ls /bin/sh -l
第一章:搭建海思Hi3518E_SDK开发环境(1)_第4张图片

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


9、给ubuntu16.0403X64安装32位兼容包
(1)参考: http://blog.csdn.net/ma57457/article/details/68923623
apt-get install lib32ncurses5 
apt-get install lib32z1​




你可能感兴趣的:(Hi3518e,海思HI3518E学习记录)