海思SDK学习:001-HI_SDK的安装
背景
保密。不管怎么样接触到了海思SDK的开发,作为⼀项⽐较常见的技术,我们开展有关地学习。
host平台 :Ubuntu 16.04
arm平台 : 3531d
arm-gcc :4.9.4
概况
海思给出的官⽅资料有:
⽂件名解释
Hi3531D_Vxxxxxx.rar包含了有关的SDK
ReleaseDoc.rar官⽅发布的中英⽂⽂档
<开发⽤的⼯具链
安装
以下的操作在 Linux主机上进⾏。(本⼈这⾥是Ubuntu)
Hi3531D_Vxxxxxx.rar:解压SDK包、并展开包的内容
Hi3531D SDK包位置:在"Hi3531D Vxxxxxx/01.software/"⽬录下,有 Hi3531D_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驱动等(空的)
│├──
│├──
│├── rootfs_scripts # rootfs源代码
│└── tools # linux⼯具源代码
├── package # 存放SDK各种压缩包的⽬录
│├── # 平台驱动压缩包
│├── image_uclibc # 可供FLASH烧写的映像⽂件,如内核、根⽂件系统
│├── # 媒体处理平台软件压缩包
│├──
│├── # linux内核/uboot/rootfs/tools源码压缩包
│└──
├── scripts # 存放shell脚本的⽬录
├── sdk.cleanup # SDK清理脚本
└── sdk.unpack # SDK展开脚本
<:安装交叉编译器到HOST
解压与⾃动安装
tar -
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
sdk测试
$ 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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论