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

相关文章

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错