背景

保密。不管怎么样接触到了海思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. Unity 热更--AssetBundle学习笔记 0.7

    AssetBundle AB包是什么? AssetBundle又称AB包,是Unity提供的一种用于存储资源的资源压缩包. Unity中的AssetBundle系统是对资源管理的一种扩展,通过将资源分 ...

  2. SQL Server实战五:存储过程与触发器

      本文介绍基于Microsoft SQL Server软件,实现数据库存储过程与触发器的创建.执行.修改与删除等操作. 目录 1 交互式创建并执行--存储过程一 2 交互式创建并执行--存储过程二 ...

  3. C 语言编程 — 基本语法

    目录 文章目录 目录 前文列表 C 语言 C 语言的版本 C 语言的特点 C 语言的优点 C 语言的缺点 搭建编程环境 基本语法 前文列表 <程序编译流程与 GCC 编译器> C 语言 C ...

  4. ETSI GS MEC 012,无线网络信息服务 API

    目录 文章目录 目录 版本 功能理解 版本 ETSI GS MEC 012 V2.1.1 (2019-12) 功能理解 RNIS(Radio Network Information Service,无 ...

  5. Selenium4自动化测试6--控件获取数据--下拉框级联选择、checkbox选择、时间选择器

    4-下拉框级联选择 import time from selenium.webdriver.support.select import Select #pip install selenium fro ...

  6. C#的GroupBy方法是如何工作的

    前言:先贴结果 GroupBy方法是如何工作的? 一.准备6个待分组的学生对象 class student { public string name;//姓名 public int grade;//年 ...

  7. ChannelInboundHandlerAdapter 类

    在 ChannelInboundHandlerAdapter 类中,除了 channelActive 和 channelRead 方法之外,还有其他方法用于处理不同类型的入站事件.以下是这些方法的解释 ...

  8. 大数据之Hadoop的HDFS存储优化—异构存储(冷热数据分离)

    异构存储主要解决,不同的数据,储存在不同类型的硬盘中,达到最佳性能的问题 1)存储类型 RAM_DISK:内存镜像文件系统 SSD:SSD固态硬盘 DISK:普通磁盘,在HDFS中,如果没有主动声明数 ...

  9. winform 使用Clipboard 和windows Word Com组件 把Html 导出到word

    首先是把Html复制到剪贴板 见:https://www.cnblogs.com/HelloQLQ/p/16289343.html 然后使用: private void saveAsWordCopy( ...

  10. Inno Setup Dependency Installer 安装包 运行环境安装

    Download and install any dependency such as .NET, Visual C++ or SQL Server during your application's ...