海思AI芯片(Hi3516DV300/CV500)开发(搭建Linux开发环境)

程序IT圈

共 3796字,需浏览 8分钟

 · 2020-05-07


全文共 3425 个字,阅读本文大概需要 9 分钟。


目录

1、软件包安装

2、编译 arm-himix200 交叉编译器

3、编译 uboot 和 Kernel

前言:此篇搭建环境的 Linux 平台为 ubuntu16.0.4 64 位系统,sdk 的目标平台为Hi3519DV300\CV500 系列。

1、软件包安装

步骤 1 配置默认使用 bash

执行

#sudo dpkg-reconfigure dash

选择 no

步骤 2 安装软件包

执行:

#sudo apt-get install make libc6:i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev
ncurses-term libncursesw5-dev g++ u-boot-tools:i386 texinfo texlive gawk libssl-dev openssl
bc

步骤 3 创建 /etc/ld.so.preload 文件

并执行

#echo "" > /etc/ld.so.preload

以解决 64 bit linuxserver 上某些第三方库编译失败的问题。

步骤 4 安装其他软件包

因为 Linux 交叉编译器是 32 位的,而 ubuntu16.0.4 是 64 位的,因此需要安装lib32ncurses5 和 lib32z1 兼容 x86 的运行库及环境。

#sudo apt-get install lib32ncurses5
#sudo apt-get install lib32z1

为了解决 Hi3516DV300 sdk 编译提示 cannot find uuid library required for mkfs.ubifs 错误,安装 u-boot-tools libuuid1:i386 gperf 和 zlib1g-dev liblzo2-dev uuid-dev pkg-config 库。

#sudo apt-get install  u-boot-tools libuuid1:i386 gperf
#sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config


2、编译 arm-himix200 交叉编译器

1)将 toolchain\arm-himix200-linux.tgz 拷贝到 ubuntu16.0.4 系统中

2)解压 arm-himix200-linux.tgz

执行如下命令进行解压:

#tar –xzf arm-himix200-linux.tgz

3)安装 arm-himix200-linux 交叉编译器

运行

# chmod +x arm-himix200-linux.install

然后运行

# ./arm-himix200-linux.install

即可。

4)执行

# source /etc/profile

安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。
5)修改环境变量

# sudo vim ~/.bashrc

bashrc 文件末尾添加以下代码:

export PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH
export LC_ALL=C

d6c45b39e99027f5ec426734cc59aed1.webp


6)配置环境变量生效

# source  ~/.bashrc

7)查看编译器版本

# arm-himix200-linux-gcc -v

6f948e59de8c92443848fc2ade7e086e.webp


显示编译器版本信息,则表示成功安装交叉编译器。

3、编译 uboot 和 Kernel

1)安装sdk 包

拷贝Hi3516CV500R001C02SPC011\01.software\board\Hi3516CV500_SDK_V2.0.1.1.tgz到 ubuntu16.0.4 系统中,运行 ./sdk.unpack (请用 root 或 sudo 权限执行)将会展开 sdk 包打包压缩存放的内容。

# sudo./sdk.unpack

成功执行 ./sdk.unpack 后,会到一个 sdk 包:Hi3516CV500_SDK_V2.0.1.1

88a87fa503a0fec55a298ba2eb9274b3.webp


如果提示 source:not found ,执行 dpkg-reconfigure dash(执行时需要root权限)

#sudo dpkg-reconfigure dash

在出现的界面中选择 no ,再运行 ls -l /bin/sh 后显示 /bin/sh/->bash

目标是编译 sdk 包 Hi3516CV500_SDK_V2.0.1.1\osdrv 根目录

931d13cbd167f2ef2c9e57ad33267df5.webp


2)将内核的补丁 v4.9.37 打到 linux  的内核 kernel 上

从 linux 开源社区下载 v4.9.37 版本的内核:

(1)进入网站:www.kernel.org

(2)选择 HTTP 协议资源的 https://www.kernel.org/pub/ 选项,进入子页面

(3)选择 linux/ 菜单项,进入子页面

(4)选择 kernel/ 菜单项,进入子页面

(5)选择 v4.x/ 菜单项,进入子页面

(6)下载 linux-4.9.37.tar.gz  (或者 linux-4.9.37.tar.xz )到osdrv/opensource/kernel目录下

(7)在 linux 服务器中进入 osdrv 的根目录,执行如下命令:

# cd opensource/kernel
# tar -zxf linux-4.9.37.tar.gz
# mv linux-4.9.37 linux-4.9.y
# cd linux-4.9.y
# patch -p1 < ../linux-4.9.37.patch
# cd ../
# tar -czf linux-4.9.y.tgz linux-4.9.y
# cd ../../

完成补丁安装。

3)编译 osdrv

注意:由于 Makefile 中文件系统编译依赖组件较多,不能保证单独编译的文件系统可用,建议采用 make all 编译。

进入 Hi3516CV500_SDK_V2.0.1.1\osdv 根目录

ae0dcc571ba591863438bd41115ed843.webp


(1)清除整个 osdrv 目录的编译文件:

# make OSDRV_CROSS=arm-himix200-linux clean

(2)彻底清除整个 osdrv 目录的编译文件,除清除编译文件外,还删除已编译好的镜像:

# make OSDRV_CROSS=arm-himix200-linux distclean

(3)编译整个 osdrv

sudo make all

提示 arm-hisix200-linux-gcc: command not found 的解决办法:

这是因为 Linux 宿主机是 ubuntu 16.04 64 位,而交叉编译器是针对 32 位的开发板制作的。所以要安装对应的 32 位库。
安装命令:

# sudo apt install lib32z1-dev

然后执行 su root

# su root

输入 root 密码,进入登录 root 管理员权限,如下图,表示成功登录 root

ba7c26a94f87a99c6eb8f8fbf4936ac7.webp


# vim ~/.bashrc

在环境变量末尾添加以下代码

export LC_ALL=C
export PATH="/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH"

188c4c5088eb884399a0f07b2a2fb172.webp


然后再执行 make all 编译 osdrv

# make all

最后的编译提示信息如下:

6e4a93db291bfa2d08c7aa74c820b190.webp


编译成功可以得到:

(1) uImage

路径:Hi3516CV500_SDK_V2.0.1.1/osdrv/opensource/kernel/linux-4.9.y/arch/arm/uImage

6ccbffe1d8511a5c40448159413dcf78.webp


(2) u-boot-hi3516dv300.bin

路径:Hi3516CV500_SDK_V2.0.1.1/osdrv/opensource/uboot/u-boot-2016.11/u-boot-hi3516dv300.bin

e4e8b1e9bfbaace1f0f8bc1f4d4287f2.webp


编译过程参考:

ReleaseDoc\zh\01.software\board\OSDRV\Hi3516CV500╱Hi3516DV300╱Hi3516AV300 开发环境用户指南

ReleaseDoc\zh\01.software\board\Hi3516CV500╱Hi3516DV300╱Hi3516AV300 SDK 安装及升级使用说明

ReleaseDoc\zh\01.software\board\OSDRV\Hi3516CV500╱Hi3516DV300╱Hi3516AV300 U-boot 移植应用开发指南


海思AI芯片(Hi3516DV300/CV500)开发(1.资料介绍)https://blog.csdn.net/Allen101zhang/article/details/103762747
海思AI芯片(Hi3516DV300/CV500)开发(2.RuyiStudio安装)https://blog.csdn.net/Allen101zhang/article/details/103766684







浏览 133
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报