背景

保密。不管怎么样接触到了海思SDK的开发,作为一项比较常见的技术,我们开展有关地学习。

host平台   :Ubuntu 16.04

arm平台   : 3531d

arm-gcc   :4.9.4

概况

海思给出的官方资料有:

文件名 解释
Hi3531D_Vxxxxxx.rar 包含了有关的SDK
ReleaseDoc.rar 官方发布的中英文文档
arm-hisiv500-linux.tgz 开发用的工具链

安装

以下的操作在 Linux主机上进行。(本人这里是Ubuntu)

Hi3531D_Vxxxxxx.rar:解压SDK包、并展开包的内容

Hi3531D SDK包位置:在"Hi3531D Vxxxxxx/01.software/"目录下,有 Hi3531D_SDK_Vx.x.x.x.tgz 的文件,该文件就是Hi3531D的软件开发包。

tar -xf Hi*SDK*.tgz

cd Hi*SDK*

# 如果需要拷贝SDK包,请先运行source  sdk.cleanup,收起SDK包的内容,拷贝到新的目录后再展开。
source sdk.unpack

SDK目录介绍

# schips @ ubuntu in Hi3531D_SDK [10:54:44]
$ tree -L 2
.
├── drv #平台驱动
│ ├── cipher
│ ├── hisi-irda
│ ├── rtc
│ ├── sys_config
│ └── wtdg
├── mpp # 存放媒体处理平台的目录
│ ├── component # 组件源代码
│ ├── extdrv # 板级外围驱动源代码
│ ├── include # 对外头文件
│ ├── ko # 内核模块
│ ├── lib # release版本库以及音频库
│ ├── linux.param
│ ├── Makefile.param
│ ├── sample # 样例源代码
│ └── tools # 媒体处理相关工具
├── osal
│ ├── include
│ └── source
├── osdrv # 存放操作系统及相关驱动的目录
│ ├── drv # drv源代码
│ ├── Makefile # osdrv Makefile
│ ├── opensource # 包含了 uboot、kernel、busybox等源码
│ ├── pub # 编译好的镜像、工具、drv驱动等(空的)
│ ├── readme_cn.txt
│ ├── readme_en.txt
│ ├── rootfs_scripts # rootfs源代码
│ └── tools # linux工具源代码
├── package # 存放SDK各种压缩包的目录
│ ├── drv.tgz # 平台驱动压缩包
│ ├── image_uclibc # 可供FLASH烧写的映像文件,如内核、根文件系统
│ ├── mpp.tgz # 媒体处理平台软件压缩包
│ ├── osal.tgz
│ ├── osdrv.tgz # linux内核/uboot/rootfs/tools源码压缩包
│ └── rootfs_uclibc.tgz
├── scripts # 存放shell脚本的目录
├── sdk.cleanup # SDK清理脚本
└── sdk.unpack # SDK展开脚本

arm-hisiv500-linux.tgz:安装交叉编译器到HOST

解压与自动安装

tar -xf arm-hisiv500-linux.tgz

cd arm-hisiv500-linux
# arm-hisiv500-linux.install 脚本中的 TOP_DIR 为安装工具链的位置,可以修改,一般默认即可
chmod +x arm-hisiv500-linux.install
sudo ./arm-hisiv500-linux.install

配置工具链到 PATH中

# 默认情况下的工具链配置路径
export PATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin

测试

$ arm-hisiv500-linux-gcc --version

arm-hisiv500-linux-gcc (Hisilicon_v500_20170922) 4.9.4 20150629 (prerelease)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

如果出现:

arm-hisiv500-linux-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

这是因为gcc太老的问题:解决办法:

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6  -y

编译osdrv

osdrv ,具体参见osdrv目录下readme;这里给出自用的编译kernel 有关的脚本

  • 配置:make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
  • 清除:make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- clean
  • 编译:
sudo PATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- uImage -j4

海思SDK 学习 :001-HI_SDK 的 安装的更多相关文章

  1. Ubuntu安装海思SDK(转)

    问题 海思SDK安装时,无法运行sdk.unpack 原因 BASH 和 DASH 的问题. Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主 ...

  2. 海思SDK 与各芯片对照

    本文链接:https://blog.csdn.net/liuxizhen2009/article/details/84261221 海思SDK不对外开放. 海思35系列sdk Hi3507   Hi3 ...

  3. 第2季:从官方例程深度学习海思SDK及API

    2.1.官方mppsample的总体分析2.1.sample的整体架构(1)sample其实是很多个例程,所以有很多个main(2)每一个例程面向一个典型应用,common是通用性主体函数,我们只分析 ...

  4. 在海思hisiv100nptl平台上交叉编译并安装SRS

    ./configure --with-arm-ubuntu12 && make 须要安装: apt-get installgcc-arm-linux-gnueabi     ,但hi3 ...

  5. 【待续】海思Hi3520A学习笔记

    /********************************************************************* * By                       : ...

  6. 关于海思SDK在Ubuntu下安装错误问题

    在Ubuntu下安装海思sdk时,直接运行安装脚本,会有如下提示: ./sdk.unpack  ./sdk.unpack: 2: ./sdk.unpack: source: not found ./s ...

  7. 用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

    快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs20 ...

  8. 海思3559A QT 5.12移植(带webengine 和 opengl es)

    海思SDK版本:Hi3559AV100_SDK_V2.0.1.0 编译器版本:aarch64-himix100-linux-gcc 6.3.0(这个版本有点小问题,使用前需要先清除本地化设置) $ e ...

  9. 【ARM-Linux开发】用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

    1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件 ...

  10. 海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)

    海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器) 我在某个海思主控的项目中需要使用SPI接口来驱动一块液晶屏,液晶屏主控为 st7789,分辨率 240x240,图 ...

随机推荐

  1. 【爬虫案例】用Python爬取抖音热榜数据!

    目录 一.爬取目标 二.编写爬虫代码 三.同步讲解视频 3.1 代码演示视频 四.获取完整源码 一.爬取目标 您好,我是@马哥python说,一名10年程序猿. 本次爬取的目标是:抖音热榜 共爬取到5 ...

  2. docker-compose搭建的Mysql主主复制

    注意下面几点: 1)要保证同步服务期间之间的网络联通.即能相互`ping`通,能使用对方授权信息连接到对方数据库(防火墙开放3306端口). 2)关闭selinux. 3)同步前,双方数据库中需要同步 ...

  3. Go语言连接Redis之go-redis使用指南

    参考下面的连接: https://mp.weixin.qq.com/s?__biz=MzU5MjAxMDc1Ng==&mid=2247483899&idx=1&sn=b103c ...

  4. Git基本操作命令大全

    一.全局配置命令 ## 配置级别: –local(默认,高级优先):只影响本地仓库 –global(中优先级):只影响所有当前用户的git仓库 –system(低优先级):影响到全系统的git仓库 # ...

  5. 给公众号接入`FastWiki`智能AI知识库,让您的公众号加入智能行列

    最近由于公众号用户太多,我就在思考有啥方式能给微信公众号的粉丝提供更多的更好的服务?这个时候我就想是否可以给公众号接入一下AI?让用户跟微信公众号对话,然后还能回到用户的问题,并且我提供一些资料让AI ...

  6. 高效运维_AIRIOT智慧电力运维解决方案

    可再生能源的引入带来了能源生产的去中心化和分散化趋势,同时也带来了能源输出的波动性和不确定性.电力运维因此需要更加灵活.智能的解决方案,以适应可再生能源的集成,确保电力系统的稳定运行,传统的电力运维管 ...

  7. SaltStack 常用的一些命令

    以下是 SaltStack 常用的一些命令: 查看帮助信息:salt --help检查Salt支持的操作系统:salt '*' test.ping查看Minion的版本号:salt '*' test. ...

  8. kubernetes 之Health Check 健康检查

    默认的健康检查 这里Pod的restartPolicy设置为OnFailure,默认为Always. [machangwei@mcwk8s-master ~]$ cat mcwHealthcheck. ...

  9. 开源低代码框架 ReZero API 正式版本发布 ,界面操作直接生成API

    一.ReZero简介 ReZero是一款.NET中间件 : 全网唯一界面操作就能生成API ,  可以集成到任何.NET6+ API项目,无破坏性,也可让非.NET用户使用exe文件 免费开源:MIT ...

  10. C# 炸弹人 winform版

    实现这个游戏的基本功能包含几个对象:玩家,怪物,墙砖,炸弹,通关的门.玩家通过上下左右方向键移动,放置炸弹,被怪物杀死,被炸弹炸死.怪物随机方向移动,能杀死玩家.炸弹有爆炸功能,炸弹的火花长度.通过的 ...