新路程--------安装海思Hi3516A/Hi3516D SDK出现问题

2024-09-04 00:58

本文主要是介绍新路程--------安装海思Hi3516A/Hi3516D SDK出现问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

   搞板子首先要配置开发环境,这个编译的要求不高,所以虚拟机就可以搞定了,于是我就在windows上装了vm然后安装了虚拟机

vm的版本是11,ubuntu的版本是12.04,别的我没试过,至少可以保证这两个是ok的。

   然后装sdk,根据使用说明来,先copy sdk到home目录下(哪个目录应该无所谓,为了方便起见放在了home里),然后点击那个sdk.unpack,结果出问题了

解决如下

为了验证交叉编译工具是否安装好,第一先重启一下ubunut,然后

matt@ubuntu:~$ arm
arm2hpdl                       arm-hisiv400-linux-addr2line
arm-hisiv300-linux-addr2line   arm-hisiv400-linux-ar
arm-hisiv300-linux-ar          arm-hisiv400-linux-as
arm-hisiv300-linux-as          arm-hisiv400-linux-c++
arm-hisiv300-linux-c++         arm-hisiv400-linux-c++filt
arm-hisiv300-linux-c++filt     arm-hisiv400-linux-cpp
arm-hisiv300-linux-cpp         arm-hisiv400-linux-elfedit
arm-hisiv300-linux-elfedit     arm-hisiv400-linux-g++
arm-hisiv300-linux-g++         arm-hisiv400-linux-gcc
arm-hisiv300-linux-gcc         arm-hisiv400-linux-gcc-4.8.3
arm-hisiv300-linux-gcc-4.8.3   arm-hisiv400-linux-gcc-ar
arm-hisiv300-linux-gcc-ar      arm-hisiv400-linux-gcc-nm
arm-hisiv300-linux-gcc-nm      arm-hisiv400-linux-gcc-ranlib
arm-hisiv300-linux-gcc-ranlib  arm-hisiv400-linux-gcov
arm-hisiv300-linux-gcov        arm-hisiv400-linux-gdb
arm-hisiv300-linux-gdb         arm-hisiv400-linux-gprof
arm-hisiv300-linux-gprof       arm-hisiv400-linux-ld
arm-hisiv300-linux-ld          arm-hisiv400-linux-ld.bfd

可以看到有arm-hisiv300-linux-gcc  

可以写个hollow world验证一下

matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0$ arm-hisiv300-linux-gcc a.c -o a

能执行成功即可

matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0$ ls
package  scripts  sdk.cleanup  sdk.unpack
matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0$ sudo ./sdk.unpack 
[sudo] password for matt: 
./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: 26: ./sdk.unpack: run_command_progress_float: not found
./sdk.unpack: 37: ./sdk.unpack: ECHO: not found
mkdir: created directory ‘mpp’
./sdk.unpack: 39: ./sdk.unpack: run_command_progress_float: not found
./sdk.unpack: 42: ./sdk.unpack: ECHO: not found
mkdir: created directory ‘drv’
./sdk.unpack: 44: ./sdk.unpack: run_command_progress_float: not found
matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0$ cd osdrv/
matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0/osdrv$ ls
matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0/osdrv$ gedit sdk.unpack(看了一下脚本)
^C
第一行是#!/bin/sh文件是解压出来了,但是osdev里为空,什么都没有,很奇怪matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0$ source -h
bash: source: -h: invalid option  说明souce不行
source: usage: source filename [arguments]
matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0$ su
Password: 
su: Authentication failure
matt@ubuntu:~/Hi3516A_SDK_V1.0.6.0$ sudo suroot@ubuntu:~# ls -al
total 16
drwx------  2 root root 4096 Oct 22  2014 .
drwxr-xr-x 22 root root 4096 Apr  5 19:07 ..
-rw-r--r--  1 root root 3106 Feb 19  2014 .bashrc
-rw-r--r--  1 root root  140 Feb 19  2014 .profile
root@ubuntu:~# vi .bashrc 
root@ubuntu:~# echo $0  
bash
root@ubuntu:~# vi .profile 
root@ubuntu:~# cd -
/home/matt/Hi3516A_SDK_V1.0.6.0
root@ubuntu:/home/matt/Hi3516A_SDK_V1.0.6.0# ls
drv  mpp  osdrv  package  scripts  sdk.cleanup  sdk.unpack  Untitled Document
root@ubuntu:/home/matt/Hi3516A_SDK_V1.0.6.0# vi sdk.cleanup 
root@ubuntu:/home/matt/Hi3516A_SDK_V1.0.6.0# ls /bin/sh
sh          sh.distrib  
root@ubuntu:/home/matt/Hi3516A_SDK_V1.0.6.0# ls /bin/sh
sh          sh.distrib  root@ubuntu:/home/matt/Hi3516A_SDK_V1.0.6.0# ls -al /bin/sh
lrwxrwxrwx 1 root root 4 Apr  5 19:02 /bin/sh -> dash   //这边说明那个脚本被dash给执行了,而本来应该是bash去执行的,这个就是/bin/sh软链接到dash,
root@ubuntu:/home/matt/Hi3516A_SDK_V1.0.6.0# ls /bin/
bash                  lessecho                 red
bunzip2               lessfile                 rm
busybox               lesskey                  rmdir
bzcat                 lesspipe                 rnano
bzcmp                 ln                       running-in-container
bzdiff                loadkeys                 run-parts
bzegrep               login                    sed
bzexe                 loginctl                 setfacl
bzfgrep               lowntfs-3g               setfont
bzgrep                ls                       setupcon
bzip2                 lsblk                    sh
bzip2recover          lsmod                    sh.distrib
bzless                machinectl               sleep
bzmore                mkdir                    ss
cat                   mknod                    static-sh
chacl                 mktemp                   stty
chgrp                 more                     su
chmod                 mount                    sync
chown                 mountpoint               systemctl
chvt                  mt                       systemd
cp                    mt-gnu                   systemd-ask-password
cpio                  mv                       systemd-inhibit
dash                  nano                     systemd-machine-id-setup
date                  nc                       systemd-notify
dbus-cleanup-sockets  nc.openbsd               systemd-tmpfiles
dbus-daemon           netcat                   systemd-tty-ask-password-agent
dbus-uuidgen          netstat                  tailf
dd                    nisdomainname            tar
df                    ntfs-3g                  tempfile
dir                   ntfs-3g.probe            touch
dmesg                 ntfs-3g.secaudit         true
dnsdomainname         ntfs-3g.usermap          udevadm
domainname            ntfscat                  ulockmgr_server
dumpkeys              ntfsck                   umount
echo                  ntfscluster              uname
ed                    ntfscmp                  uncompress
egrep                 ntfsdump_logfile         unicode_start
false                 ntfsfix                  vdir
fgconsole             ntfsinfo                 vmmouse_detect
fgrep                 ntfsls                   wdctl
findmnt               ntfsmftalloc             which
fuser                 ntfsmove                 whiptail
fusermount            ntfstruncate             ypdomainname
getfacl               ntfswipe                 zcat
grep                  open                     zcmp
gunzip                openvt                   zdiff
gzexe                 pidof                    zegrep
gzip                  ping                     zfgrep
hostname              ping6                    zforce
ip                    plymouth                 zgrep
journalctl            plymouth-upstart-bridge  zless
kbd_mode              ps                       zmore
kill                  pwd                      znew
kmod                  rbash
less                  readlink
root@ubuntu:/home/matt/Hi3516A_SDK_V1.0.6.0# sudo dpkg-reconfigure dash  //更改链接  
执行之后要选择no才行


接下来就按照使用说明安装即可,遇到权限不够就用sudo



这篇关于新路程--------安装海思Hi3516A/Hi3516D SDK出现问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1134544

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模