海思SDK 学习 :001-HI_SDK 的 安装
背景
保密。不管怎么样接触到了海思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 的 安装的更多相关文章
- Ubuntu安装海思SDK(转)
问题 海思SDK安装时,无法运行sdk.unpack 原因 BASH 和 DASH 的问题. Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主 ...
- 海思SDK 与各芯片对照
本文链接:https://blog.csdn.net/liuxizhen2009/article/details/84261221 海思SDK不对外开放. 海思35系列sdk Hi3507 Hi3 ...
- 第2季:从官方例程深度学习海思SDK及API
2.1.官方mppsample的总体分析2.1.sample的整体架构(1)sample其实是很多个例程,所以有很多个main(2)每一个例程面向一个典型应用,common是通用性主体函数,我们只分析 ...
- 在海思hisiv100nptl平台上交叉编译并安装SRS
./configure --with-arm-ubuntu12 && make 须要安装: apt-get installgcc-arm-linux-gnueabi ,但hi3 ...
- 【待续】海思Hi3520A学习笔记
/********************************************************************* * By : ...
- 关于海思SDK在Ubuntu下安装错误问题
在Ubuntu下安装海思sdk时,直接运行安装脚本,会有如下提示: ./sdk.unpack ./sdk.unpack: 2: ./sdk.unpack: source: not found ./s ...
- 用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发
快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs20 ...
- 海思3559A QT 5.12移植(带webengine 和 opengl es)
海思SDK版本:Hi3559AV100_SDK_V2.0.1.0 编译器版本:aarch64-himix100-linux-gcc 6.3.0(这个版本有点小问题,使用前需要先清除本地化设置) $ e ...
- 【ARM-Linux开发】用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发
1.1 什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件 ...
- 海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)
海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器) 我在某个海思主控的项目中需要使用SPI接口来驱动一块液晶屏,液晶屏主控为 st7789,分辨率 240x240,图 ...
随机推荐
- Unity 热更--AssetBundle学习笔记 0.7
AssetBundle AB包是什么? AssetBundle又称AB包,是Unity提供的一种用于存储资源的资源压缩包. Unity中的AssetBundle系统是对资源管理的一种扩展,通过将资源分 ...
- SQL Server实战五:存储过程与触发器
本文介绍基于Microsoft SQL Server软件,实现数据库存储过程与触发器的创建.执行.修改与删除等操作. 目录 1 交互式创建并执行--存储过程一 2 交互式创建并执行--存储过程二 ...
- C 语言编程 — 基本语法
目录 文章目录 目录 前文列表 C 语言 C 语言的版本 C 语言的特点 C 语言的优点 C 语言的缺点 搭建编程环境 基本语法 前文列表 <程序编译流程与 GCC 编译器> C 语言 C ...
- ETSI GS MEC 012,无线网络信息服务 API
目录 文章目录 目录 版本 功能理解 版本 ETSI GS MEC 012 V2.1.1 (2019-12) 功能理解 RNIS(Radio Network Information Service,无 ...
- Selenium4自动化测试6--控件获取数据--下拉框级联选择、checkbox选择、时间选择器
4-下拉框级联选择 import time from selenium.webdriver.support.select import Select #pip install selenium fro ...
- C#的GroupBy方法是如何工作的
前言:先贴结果 GroupBy方法是如何工作的? 一.准备6个待分组的学生对象 class student { public string name;//姓名 public int grade;//年 ...
- ChannelInboundHandlerAdapter 类
在 ChannelInboundHandlerAdapter 类中,除了 channelActive 和 channelRead 方法之外,还有其他方法用于处理不同类型的入站事件.以下是这些方法的解释 ...
- 大数据之Hadoop的HDFS存储优化—异构存储(冷热数据分离)
异构存储主要解决,不同的数据,储存在不同类型的硬盘中,达到最佳性能的问题 1)存储类型 RAM_DISK:内存镜像文件系统 SSD:SSD固态硬盘 DISK:普通磁盘,在HDFS中,如果没有主动声明数 ...
- winform 使用Clipboard 和windows Word Com组件 把Html 导出到word
首先是把Html复制到剪贴板 见:https://www.cnblogs.com/HelloQLQ/p/16289343.html 然后使用: private void saveAsWordCopy( ...
- Inno Setup Dependency Installer 安装包 运行环境安装
Download and install any dependency such as .NET, Visual C++ or SQL Server during your application's ...