Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

压缩包:Hi3516A_SDK_V1.0.5.0.tgz     编译平台:Ubuntu 16.04.5 LTS   交叉编译工具链:arm-hisiv300-linux

1.解压压缩包Hi3516A_SDK_V1.0.5.0.tgz

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

2.进入Hi3516A_SDK_V1.0.5.0文件运行SDK。

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

3.进入Hi3516A_SDK_V1.0.5.0/osdrv目录开始编译osdrv(注意需要提前安装好交叉编译工具链,这个安装包内有,可参考这个博主的https://blog.****.net/qq_29350001/article/details/52440188)。用命令make OSDRV_CROSS=arm-hisiv300-linux all或者make OSDRV_CROSS=arm-hisiv400-linux all,根据自己安装的交叉编译工具决定。

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

正常情况下就直接编译成功,但大多数情况下都是不能成功的。

出现问题及解决:

问题1.error: storage size of ‘hints’ isn’t known等。

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

mtd-utils_1.5.2.orig.tar.bz2下载地址http://nl.archive.ubuntu.com/ubuntu/pool/universe/m/mtd-utils/mtd-utils_1.5.2.orig.tar.bz2

解决方法:用mtd-utils_1.5.2.orig.tar.bz2替换mtd-utils-1.5.0.tar.bz2

1.拷贝mtd-utils_1.5.2.orig.tar.bz2到Hi3516A_SDK_V1.0.5.0/osdrv/tools/board/mtd-utils和Hi3516A_SDK_V1.0.5.0/osdrv/tools/pc/jffs2_tool。

2.修改Hi3516A_SDK_V1.0.5.0/osdrv/tools/board/mtd-utils/Makefile,把mtd-utils_1.5.2.orig.tar.bz2替换mtd-utils-1.5.0.tar.bz2相关内容,如下图:

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

3.修改Hi3516A_SDK_V1.0.5.0/osdrv/tools/pc/jffs2_tool/Makefile,把mtd-utils_1.5.2.orig.tar.bz2替换mtd-utils-1.5.0.tar.bz2相关内容,如下图:

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

这样做后,make OSDRV_CROSS=arm-hisiv300-linux all编译,会出现错误2如图。

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

解决方法:拷贝mtd-utils_1.5.2.orig.tar.bz2到Hi3516A_SDK_V1.0.5.0/osdrv/tools/pc/jffs2_tool/tmp并解压(一定要先删除原来空的的mtd-utils-1.5.2文件夹)。再进入Hi3516A_SDK_V1.0.5.0/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.2目录下新建tar文件将mtd-utils_1.5.2.orig.tar.bz2拷贝进去

问题3:因为是系统文件不好复现,所以就直接出这个截图了。

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决

解决方法:sudo apt-get install uuid-dev

可参考:https://blog.****.net/qhzm72/article/details/79122642博客

出现Finnish表示编译完成。

Hi3516A_SDK_V1.0.5.0.tgz编译流程和出现的问题及解决