新路程--------安装海思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

相关文章

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

怎样通过分析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索引长度限制原理实际场景示例二、五大解决