前言
本文参考以下文章:
Hi3516D V300三天从入门到入土之---(一)环境搭建_专栏_易百纳技术社区 (ebaina.com)
解压板子产商给的包,Hi3516CV500R001C02SPC020里面存放的是SDK包;toolchain里面存放的是arm-himix200-linux.tgz,也就是交叉编译器。
Hi3516CV500_SDK_V2.0.2.0.tgz和arm-himix200-linux.tgz拷贝到Ubuntu。
一、交叉编译环境
解压编译器,并安装:
tar -zxf arm-himix200-linux.tgz
cd arm-himix200-linux
sudo ./arm-himix200-linux.install
重启下,查询是否安装成功
arm-himix200-linux-gcc -v
二、安装SDK包
1. 更换 bash
sudo dpkg-reconfigure dash
图形界面选NO就行。
2. 安装编译所需依赖
sudo apt-get install vim make gcc g++ patch python net-tools swig u-boot-tools bison flex python-dev libssl-dev libncurses-dev python3-dev -y
sudo apt-get install build-essential lib32z1 lib32stdc++6 libuuid1:i386 gperf zlib1g-dev liblzo2-dev uuid-dev pkg-config libc6 ncurses-term -y
sudo apt-get install texinfo texlive gawk curl upx pngquant p7zip-full libncursesw5-dev lib32ncurses5 libncurses5-dev -y
sudo apt-get autoremove automake
3. 下载对应的补丁包
解压SDK包后,并展开
tar -zxf Hi3516CV500_SDK_V2.0.2.0.tgz
./sdk.unpack
进入OSDRV目录,先查看readme_cn.txt。
3.1 linux内核源码
Index of /pub/linux/kernel/v4.x/ 下载 linux-4.9.37.tar.xz.
cp linux-4.9.37.tar.gz Hi3516CV500_SDK_V2.0.2.0/osdrv/opensource/kernel/
3.2 yaffs
Release 0.2.9: * unyaffs2 · dorigom/yaffs2utils · GitHub
cp yaffs2utils-0.2.9.tar.gz Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/pc/mkyaffs2image/
3.3 gdb
Index of /gnu/gdb 下载7.9.1版本
cp gdb-7.9.1.tar.gz Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/board/gdb/
3.4 ncurses
Index of /gnu/ncurses 下载6.0版本
cp ncurses-6.0.tar.gz Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/board/gdb/
3.5 util-linux
Index of /pub/linux/utils/util-linux/v2.31/ (kernel.org)
cp util-linux-2.31.tar.gz Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/pc/cramfs_tool/
4. 编译
将板子厂商的Hi3516DV300-DMEBLITE_6L_T-DDR4_1800M_1GB_16bitx2-A7_900M-SYSBUS_300M.xlsm 这个文件复制到osdrv/tools/pc/uboot_tools/下面
返回osdrv目录,打开makefile文件,大概109行,把16DV300-DMEB_4L_FLYBY-DDR3_1800M_512MB_16bitx2-A7_900M-SYSBUS_300M.xlsm这一句注释掉,换成易佰纳提供的文件对应的名字,保存退出。
然后编译
make all
编译得到的镜像文件,uboot以及文件系统在osdrv/pub/hi3516dv300_spi_smp_image_glibc中。