背景

保密。不管怎么样接触到了海思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的软件开发包。

  1. tar -xf Hi*SDK*.tgz
  2. cd Hi*SDK*
  3. # 如果需要拷贝SDK包,请先运行source sdk.cleanup,收起SDK包的内容,拷贝到新的目录后再展开。
  4. source sdk.unpack

SDK目录介绍

  1. # schips @ ubuntu in Hi3531D_SDK [10:54:44]
  2. $ tree -L 2
  3. .
  4. ├── drv #平台驱动
  5. ├── cipher
  6. ├── hisi-irda
  7. ├── rtc
  8. ├── sys_config
  9. └── wtdg
  10. ├── mpp # 存放媒体处理平台的目录
  11. ├── component # 组件源代码
  12. ├── extdrv # 板级外围驱动源代码
  13. ├── include # 对外头文件
  14. ├── ko # 内核模块
  15. ├── lib # release版本库以及音频库
  16. ├── linux.param
  17. ├── Makefile.param
  18. ├── sample # 样例源代码
  19. └── tools # 媒体处理相关工具
  20. ├── osal
  21. ├── include
  22. └── source
  23. ├── osdrv # 存放操作系统及相关驱动的目录
  24. ├── drv # drv源代码
  25. ├── Makefile # osdrv Makefile
  26. ├── opensource # 包含了 uboot、kernel、busybox等源码
  27. ├── pub # 编译好的镜像、工具、drv驱动等(空的)
  28. ├── readme_cn.txt
  29. ├── readme_en.txt
  30. ├── rootfs_scripts # rootfs源代码
  31. └── tools # linux工具源代码
  32. ├── package # 存放SDK各种压缩包的目录
  33. ├── drv.tgz # 平台驱动压缩包
  34. ├── image_uclibc # 可供FLASH烧写的映像文件,如内核、根文件系统
  35. ├── mpp.tgz # 媒体处理平台软件压缩包
  36. ├── osal.tgz
  37. ├── osdrv.tgz # linux内核/uboot/rootfs/tools源码压缩包
  38. └── rootfs_uclibc.tgz
  39. ├── scripts # 存放shell脚本的目录
  40. ├── sdk.cleanup # SDK清理脚本
  41. └── sdk.unpack # SDK展开脚本

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

解压与自动安装

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

配置工具链到 PATH中

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

测试

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

如果出现:

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

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

  1. 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
  • 编译:
  1. 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. 应急响应--linux入侵排查

  2. ansible(13)--ansible的lineinfile模块

    1. lineinfile模块 功能:修改或删除文件内容,与系统中的 sed 命令类似: 主要参数如下: 参数 说明 path 指定要操作的文件 regexp 使用正则表达式匹配对应的行 line 修 ...

  3. uniAPP Android平台完整更新与热更新

    一.概述 1.uni-app打包成apk或wgt文件,使用plus.runtime.getProperty方法获取本地应用资源版本号.2.调用后端接口,拿到与后端规定好的版本号,与前面获取的版本号进行 ...

  4. Linux/Golang/glibC系统调用

    Linux/Golang/glibC系统调用 本文主要通过分析Linux环境下Golang的系统调用,以此阐明整个流程 有时候涉略过多,反而遭到质疑~,写点文章证明自己实力也好 Golang系统调用 ...

  5. Machine Learning - 笔记1

    一.监督学习(supervised learning) 1.回归(regression)         ①按我的理解来说,就是对于训练模型所用到的数据集,能够知道Input和Output的特征.比如 ...

  6. 给大家分享一套非常棒的python机器学习课程

    给大家分享一套非常棒的python机器学习课程--<AI小天才:让小学生轻松掌握机器学习>,2024年5月完结新课,提供配套的代码+笔记+软件包下载!学完本课程,可以轻松掌握机器学习的全面 ...

  7. Go post重定向的两种方式

    1.Location 2.http.Redirect 代码 /index -> /login -> /home package main import ( "fmt" ...

  8. Django路由控制器urls

    路由, 是一种映射关系,是把客户端请求的url地址和用户请求的应用程序(这里指django里面的视图进行一对一绑定映射的一种关系). 在django中所有的路由最终都被保存到一个变量 urlpatte ...

  9. go goroutine pool设计

    推荐一遍由浅入深简绍goroutine pool设计的方案.https://strikefreedom.top/high-performance-implementation-of-goroutine ...

  10. iNeuOS工业互联网操作系统,增加电力IEC104协议

    1.      概述... 2 2.      配置IEC104协议设备驱动... 2 1.   概述 IEC60870-5-104 是一种电力自动化系统中常用的通信协议,使用 TCP/IP 协议作为 ...