海思AI芯片(Hi3516DV300/CV500)開(kāi)發(fā)(搭建Linux開(kāi)發(fā)環(huán)境)
全文共 3425 個(gè)字,閱讀本文大概需要 9 分鐘。
目錄
1、軟件包安裝
2、編譯 arm-himix200 交叉編譯器
3、編譯 uboot 和 Kernel
前言:此篇搭建環(huán)境的 Linux 平臺(tái)為 ubuntu16.0.4 64 位系統(tǒng),sdk 的目標(biāo)平臺(tái)為Hi3519DV300\CV500 系列。
1、軟件包安裝步驟 1 配置默認(rèn)使用 bash
執(zhí)行
#sudo dpkg-reconfigure dash選擇 no
步驟 2 安裝軟件包
執(zhí)行:
#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 創(chuàng)建 /etc/ld.so.preload 文件
并執(zhí)行
#echo "" > /etc/ld.so.preload以解決 64 bit linuxserver 上某些第三方庫(kù)編譯失敗的問(wèn)題。
步驟 4 安裝其他軟件包
因?yàn)?Linux 交叉編譯器是 32 位的,而 ubuntu16.0.4 是 64 位的,因此需要安裝lib32ncurses5 和 lib32z1 兼容 x86 的運(yùn)行庫(kù)及環(huán)境。
#sudo apt-get install lib32ncurses5
#sudo apt-get install lib32z1為了解決 Hi3516DV300 sdk 編譯提示 cannot find uuid library required for mkfs.ubifs 錯(cuò)誤,安裝 u-boot-tools libuuid1:i386 gperf 和 zlib1g-dev liblzo2-dev uuid-dev pkg-config 庫(kù)。
#sudo apt-get install u-boot-tools libuuid1:i386 gperf
#sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config
1)將 toolchain\arm-himix200-linux.tgz 拷貝到 ubuntu16.0.4 系統(tǒng)中
2)解壓 arm-himix200-linux.tgz
執(zhí)行如下命令進(jìn)行解壓:
#tar –xzf arm-himix200-linux.tgz3)安裝 arm-himix200-linux 交叉編譯器
運(yùn)行
# chmod +x arm-himix200-linux.install然后運(yùn)行
# ./arm-himix200-linux.install即可。
4)執(zhí)行
# source /etc/profile安裝交叉編譯器的腳本配置的環(huán)境變量就可以生效了,或者請(qǐng)重新登陸也可。
5)修改環(huán)境變量
# sudo vim ~/.bashrcbashrc 文件末尾添加以下代碼:
export PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH
export LC_ALL=C
6)配置環(huán)境變量生效
# source ~/.bashrc7)查看編譯器版本
# arm-himix200-linux-gcc -v
顯示編譯器版本信息,則表示成功安裝交叉編譯器。
1)安裝sdk?包
拷貝Hi3516CV500R001C02SPC011\01.software\board\Hi3516CV500_SDK_V2.0.1.1.tgz到 ubuntu16.0.4 系統(tǒng)中,運(yùn)行 ./sdk.unpack (請(qǐng)用 root 或 sudo 權(quán)限執(zhí)行)將會(huì)展開(kāi) sdk 包打包壓縮存放的內(nèi)容。
# sudo./sdk.unpack成功執(zhí)行 ./sdk.unpack 后,會(huì)到一個(gè) sdk 包:Hi3516CV500_SDK_V2.0.1.1

如果提示 source:not found ,執(zhí)行 dpkg-reconfigure dash(執(zhí)行時(shí)需要root權(quán)限)
#sudo dpkg-reconfigure dash在出現(xiàn)的界面中選擇 no ,再運(yùn)行 ls -l /bin/sh 后顯示 /bin/sh/->bash
目標(biāo)是編譯 sdk 包 Hi3516CV500_SDK_V2.0.1.1\osdrv 根目錄

2)將內(nèi)核的補(bǔ)丁 v4.9.37 打到 linux? 的內(nèi)核 kernel 上
從 linux 開(kāi)源社區(qū)下載 v4.9.37 版本的內(nèi)核:
(1)進(jìn)入網(wǎng)站:www.kernel.org
(2)選擇 HTTP 協(xié)議資源的 https://www.kernel.org/pub/ 選項(xiàng),進(jìn)入子頁(yè)面
(3)選擇 linux/ 菜單項(xiàng),進(jìn)入子頁(yè)面
(4)選擇 kernel/ 菜單項(xiàng),進(jìn)入子頁(yè)面
(5)選擇 v4.x/ 菜單項(xiàng),進(jìn)入子頁(yè)面
(6)下載 linux-4.9.37.tar.gz? (或者 linux-4.9.37.tar.xz )到osdrv/opensource/kernel目錄下
(7)在 linux 服務(wù)器中進(jìn)入 osdrv 的根目錄,執(zhí)行如下命令:
# 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 ../../完成補(bǔ)丁安裝。
3)編譯 osdrv
注意:由于 Makefile 中文件系統(tǒng)編譯依賴組件較多,不能保證單獨(dú)編譯的文件系統(tǒng)可用,建議采用 make all 編譯。
進(jìn)入 Hi3516CV500_SDK_V2.0.1.1\osdv 根目錄

(1)清除整個(gè) osdrv 目錄的編譯文件:
# make OSDRV_CROSS=arm-himix200-linux clean(2)徹底清除整個(gè) osdrv 目錄的編譯文件,除清除編譯文件外,還刪除已編譯好的鏡像:
# make OSDRV_CROSS=arm-himix200-linux distclean(3)編譯整個(gè) osdrv
sudo make all提示 arm-hisix200-linux-gcc: command not found 的解決辦法:
這是因?yàn)?Linux 宿主機(jī)是 ubuntu 16.04 64 位,而交叉編譯器是針對(duì) 32 位的開(kāi)發(fā)板制作的。所以要安裝對(duì)應(yīng)的 32 位庫(kù)。
安裝命令:
# sudo apt install lib32z1-dev然后執(zhí)行 su root
# su root輸入 root 密碼,進(jìn)入登錄 root 管理員權(quán)限,如下圖,表示成功登錄 root

# vim ~/.bashrc在環(huán)境變量末尾添加以下代碼
export LC_ALL=C
export PATH="/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH"
然后再執(zhí)行 make all 編譯 osdrv
# make all最后的編譯提示信息如下:

編譯成功可以得到:
(1) uImage
路徑:Hi3516CV500_SDK_V2.0.1.1/osdrv/opensource/kernel/linux-4.9.y/arch/arm/uImage

(2) u-boot-hi3516dv300.bin
路徑:Hi3516CV500_SDK_V2.0.1.1/osdrv/opensource/uboot/u-boot-2016.11/u-boot-hi3516dv300.bin

編譯過(guò)程參考:
ReleaseDoc\zh\01.software\board\OSDRV\Hi3516CV500╱Hi3516DV300╱Hi3516AV300 開(kāi)發(fā)環(huán)境用戶指南
ReleaseDoc\zh\01.software\board\Hi3516CV500╱Hi3516DV300╱Hi3516AV300 SDK 安裝及升級(jí)使用說(shuō)明
ReleaseDoc\zh\01.software\board\OSDRV\Hi3516CV500╱Hi3516DV300╱Hi3516AV300 U-boot 移植應(yīng)用開(kāi)發(fā)指南
海思AI芯片(Hi3516DV300/CV500)開(kāi)發(fā)(1.資料介紹)https://blog.csdn.net/Allen101zhang/article/details/103762747
海思AI芯片(Hi3516DV300/CV500)開(kāi)發(fā)(2.RuyiStudio安裝)https://blog.csdn.net/Allen101zhang/article/details/103766684
