目录
注意
1.Hi3521D_V100&Hi3520D_V400共用SDK
2.海思SDK版本中代号C01是uclibc库,C02是glibc库
1.Hi3520DV400 SDK包位置
在"Hi3521D V100R001C01SPC040\01.software\board"目录下,您可以看到一个 Hi3521DV100_SDK_V1.0.4.0.tgz 的文件,
该文件就是Hi3520DV400的软件开发包。
2.解压缩SDK包
在linux服务器上,使用命令:tar -zxf Hi3521DV100_SDK_V1.0.4.0.tgz ,
解压缩该文件,可以得到一个Hi3521DV100_SDK_V1.0.4.0目录。
3.展开SDK包内容
进入Hi3521DV100_SDK_V1.0.4.0目录,运行./sdk.unpack(请用root或sudo权限执行)将会展开SDK包打包压缩存放的内容,请按照提示完成操作。
如果您需要通过WINDOWS操作系统中转拷贝SDK包,请先运行./sdk.cleanup,收起SDK包的内容,拷贝到新的目录后再展开。
4.在linux服务器上安装交叉编译器
1).安装uclibc交叉编译器(注意,需要有sudo权限或者root权限):
获取arm-hisiv500-linux.tgz文件,使用命令:tar -zxf arm-hisiv500-linux.tgz解压文件,进入arm-hisiv500-linux目录,
运行chmod +x arm-hisiv500-linux.install,然后运行./arm-hisiv500-linux.install即可。
2) .执行source /etc/profile, 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。
5.可能存在的问题
- 展开SDK包sdk.unpack报错
./sdk.unpack: 2: ./sdk.unpack: source: not found
./sdk.unpack: 4: ./sdk.unpack: ECHO: not found
./sdk.unpack: 6: ./sdk.unpack: WARN: not found
./sdk.unpack: 7: ./sdk.unpack: WARN: not found
./sdk.unpack: 8: ./sdk.unpack: ECHO: not found
./sdk.unpack: 20: ./sdk.unpack: ECHO: not found
./sdk.unpack: 22: ./sdk.unpack: run_command_progress_float: not found
./sdk.unpack: 24: ./sdk.unpack: ECHO: not found
./sdk.unpack: 30: ./sdk.unpack: run_command_progress_float: not found
./sdk.unpack: 46: ./sdk.unpack: ECHO: not found
./sdk.unpack: 48: ./sdk.unpack: run_command_progress_float: not found
./sdk.unpack: 51: ./sdk.unpack: ECHO: not found
./sdk.unpack: 53: ./sdk.unpack: run_command_progress_float: not found
原因: BASH 和 DASH 的问题。Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互, 它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准。
解决
方法一
1、vim scripts/common.sh; 第一行, #!/bin/sh 为 #!/bin/bash
2、vim sdk.unpack 第一行, #!/bin/sh 为 #!/bin/bash, 也可以正常解压
方法二
sudo dpkg-reconfigure dash
Using dash as the system shell will improve the system's overall performance. It does not alter the shell presented to interactive users.
Use dash as the default system shell (/bin/sh)?
选择no
备注
两种方式都可以解决问题,但是海思的SDK中很多sh文件,逐个修改很麻烦,用第二种方式修改系统,一劳永逸!
- arm-hisiv500-linux-g++:未找到命令
arm-hisiv500-linux-g++ -v
arm-hisiv500-linux-g++: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
arm-hisiv500-linux-g++:未找到命令
安装32位c++库
sudo apt-get install lib32stdc++6 lib32z1