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
2.进入Hi3516A_SDK_V1.0.5.0文件运行SDK。
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,根据自己安装的交叉编译工具决定。
正常情况下就直接编译成功,但大多数情况下都是不能成功的。
出现问题及解决:
问题1.error: storage size of ‘hints’ isn’t known等。
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相关内容,如下图:
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相关内容,如下图:
这样做后,make OSDRV_CROSS=arm-hisiv300-linux all编译,会出现错误2如图。
解决方法:拷贝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:因为是系统文件不好复现,所以就直接出这个截图了。
解决方法:sudo apt-get install uuid-dev
可参考:https://blog.****.net/qhzm72/article/details/79122642博客
出现Finnish表示编译完成。