海思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,图 ...
随机推荐
- 应急响应--linux入侵排查
- ansible(13)--ansible的lineinfile模块
1. lineinfile模块 功能:修改或删除文件内容,与系统中的 sed 命令类似: 主要参数如下: 参数 说明 path 指定要操作的文件 regexp 使用正则表达式匹配对应的行 line 修 ...
- uniAPP Android平台完整更新与热更新
一.概述 1.uni-app打包成apk或wgt文件,使用plus.runtime.getProperty方法获取本地应用资源版本号.2.调用后端接口,拿到与后端规定好的版本号,与前面获取的版本号进行 ...
- Linux/Golang/glibC系统调用
Linux/Golang/glibC系统调用 本文主要通过分析Linux环境下Golang的系统调用,以此阐明整个流程 有时候涉略过多,反而遭到质疑~,写点文章证明自己实力也好 Golang系统调用 ...
- Machine Learning - 笔记1
一.监督学习(supervised learning) 1.回归(regression) ①按我的理解来说,就是对于训练模型所用到的数据集,能够知道Input和Output的特征.比如 ...
- 给大家分享一套非常棒的python机器学习课程
给大家分享一套非常棒的python机器学习课程--<AI小天才:让小学生轻松掌握机器学习>,2024年5月完结新课,提供配套的代码+笔记+软件包下载!学完本课程,可以轻松掌握机器学习的全面 ...
- Go post重定向的两种方式
1.Location 2.http.Redirect 代码 /index -> /login -> /home package main import ( "fmt" ...
- Django路由控制器urls
路由, 是一种映射关系,是把客户端请求的url地址和用户请求的应用程序(这里指django里面的视图进行一对一绑定映射的一种关系). 在django中所有的路由最终都被保存到一个变量 urlpatte ...
- go goroutine pool设计
推荐一遍由浅入深简绍goroutine pool设计的方案.https://strikefreedom.top/high-performance-implementation-of-goroutine ...
- iNeuOS工业互联网操作系统,增加电力IEC104协议
1. 概述... 2 2. 配置IEC104协议设备驱动... 2 1. 概述 IEC60870-5-104 是一种电力自动化系统中常用的通信协议,使用 TCP/IP 协议作为 ...