apt-get install u-boot-tools bison flex lib32z1-dev libncurses-dev
一、下载ubuntu16.04进行安装
ubuntu镜像下载地址
使用虚拟机进行安装,安装过程很简单,安装完毕把系统的软件包更新一下(注意不是升级系统到18.04) 二、开发包目录结构如下(可能你的开发包目录和我的不一样,我的开发包重命名了一些文件夹大致类似)

海思原厂开发包目录如下:

1、ReleaseDoc包含中英文的 开发文档,包括芯片管脚资料、开发手册、编译环境搭建等
2、sdk(我修改后的文件夹名字 原名:Hi3516C V500R001C02SPC002 太长了^_^),主要包含了原理图 pcb 软件驱动 开发包等,编译主要在这个包里面进行
3、SVP_PC 人工智能 计算机视觉需要用到的开发工具包和库(包括caffe模型的转换工具等)
4、toolchain 工具链,编译工具(需要安装到系统内)
三、安装toolchain
1、首先执行如下指令,主要解决sdk库内sdk.unpack报错的问题(bash和dash的选择问题)
sudo dpkg-reconfigure dash 选择否,如下图:

2、进入toolchain目录内,解压 arm-himix200-linux.tgz(如果用虚拟机尽量在windows环境下解压好复制到虚拟机下,因为虚拟机解压老是报错)

3、进入上一步解压好的 arm-himix200-linux 目录内,运行如下指令
sudo ./arm-himix200-linux.install 安装完毕后,执行如下指令,使环境生效
source /etc/profile 修改环境变量(如果没有安装vim的可以用vi)
sudo vim ~/.bashrc 在文件最后添加如下内容
export PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH export LC_ALL=C 如下图

保存,退出,然后执行如下指令,使环境生效
sudo source ~/.bashrc 验证是否编译工具是否安装成功,控制台输入
arm-himix200-linux-gcc -v 如下图即成功

四、编译SDK(uboot和内核)
1、进入如图所示目录(sdk目录修改后的参见上面内容)

执行如下指令
sudo ./sdk.unpack
2、执行完毕,该目录会多出一个osdrv文件夹(其实多了几个文件夹^_^),主要就关心这个osdrv
3、下载linux内核(最好是 4.9.37这个版本)
linux内核下载地址
依次进入,linux->kernel->v4.x,找到linux-4.9.37.tar.gz,下载保存到如下目录

4、在kernel目录内解压下载的内核文件到kernel目录(会生成一个linux-4.9.37文件夹)
5、将解压后的内核文件夹修改为 linux-4.9.y(如上图)
6、执行如下命令(在osdrv目录执行如下命令,该命令包含了3\4\5三步的操作)
cd opensource/kernel tar -zxf linux-4.9.37.tar.gz mv linux-4.9.37 linux-4.9.y
如果3 4 5已经完成从这一步开始操作
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 ../../ 7、回到osdrv所在目录
执行如下指令
sudo make clean sudo make distclean make all 8、错误解决办法 8.1 ./jre/bin/java 找不到

安装lib32z1-dev
sudo apt-get install lib32z1-dev 8.2 编译工具链找不到 su root vim ~/.bashrc 如果不知道root密码,可以使用如下命令修改root密码
sudo passwd root 在文件最后新增内容如下
export PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH export LC_ALL=C 如下图所示:

保存退出,再依次执行
source ~/.bashrc make clean make distclean make all 8.3 u-boot报错

依次执行如下指令
xxx 你的用户名,也可以不切换用户,大家可以试试
su xxx
不切换用户的情况下是root用户可以不加sudo
sudo apt-get install u-boot-tools su root make clean make distclean make all 五、编译完成如下
finish osdrv work

查看编译后的文件
uImage 所在目录:osdrv/opensource/kernel/linux-4.9.y-smp/arch/arm/boot/uImage

u-boot-hi3516dv300.bin 所在目录:osdrv/opensource/uboot/u-boot-2016.11/u-boot-hi3516dv300.bin
