安装编译工具链

DOPI ZERO的主控是海思的Hi3516EV300,使用的是交叉编译工具链arm-himix100-linux-,在EV200中,DOPI介绍了2种安装交叉编译工具的方法:

  1. docker方式:
    http://doc.dopi.vip/docs/first/ev2003
    2.ubuntu18.04直接安装:
    http://doc.dopi.vip/docs/first/ev2002

您可选择其中之一,安装交叉编译工具链rm-himix100-linux-

安装成功后,记得测试:

dopi@ubuntu:/usr/dopi/Hi3516EV300_SDK/package/osdrv$ arm-himix100-linux-gcc -v
Using built-in specs.
COLLECT_GCC=arm-himix100-linux-gcc
COLLECT_LTO_WRAPPER=/opt/hisi-linux/x86-arm/arm-himix100-linux/host_bin/../libexec/gcc/arm-linux-uclibceabi/6.3.0/lto-wrapper
Target: arm-linux-uclibceabi
Configured with: /home/sying/SDK_CPU_UNIFIED/build/script/arm-himix100-linux/arm_himix100_build_dir/src/gcc-6.3.0/configure --host=i386-redhat-linux --build=i386-redhat-linux --target=arm-linux-uclibceabi --prefix=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix100-linux/arm_himix100_build_dir/install --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-libatomic --disable-nls --enable-clocale=gnu --enable-extra-hisi-multilibs --with-sysroot=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix100-linux/arm_himix100_build_dir/install/target --with-build-sysroot=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix100-linux/arm_himix100_build_dir/install/target --with-gmp=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix100-linux/arm_himix100_build_dir/obj/host-libs/usr --with-mpfr=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix100-linux/arm_himix100_build_dir/obj/host-libs/usr --with-mpc=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix100-linux/arm_himix100_build_dir/obj/host-libs/usr --disable-libgomp --disable-libquadmath --disable-fixed-point --disable-libsanitizer --disable-libitm --enable-poison-system-directories --with-pkgversion='HC&C V100R002C00B032_20190114'
Thread model: posix
gcc version 6.3.0 (HC&C V100R002C00B032_20190114) 

编译SDK

海思提供的Hi3516EV200和Hi3516EV300同一个SDK,编译方法也类似。如果您第一次玩EV300 ,请您重点参考阅读:
“海思官方SDK Hi3516EV200_SDK_V1.0.1.0的编译教程”

linux sdk 版本为 Hi3516EV200R001C01SPC010:
链接: https://pan.baidu.com/s/1bJRVcm9DLD4RIL4zCzWMXA
提取码:702k

编译准备:


这里DOPI认为您熟悉海思SDK的编译过程,简洁介绍:

1. :linux-4.9.37.tar.gz (https://www.kernel.org/pub/)
    将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中

2. :yaffs2utils-0.2.9.tar.gz (https://github.com/dorigom/yaffs2utils/releases)
    将下载的 yaffs2utils-0.2.9.tar.gz 存放到osdrv的tools/pc/mkyaffs2image/目录中

3. :gdb-7.9.1.tar.gz  (http://ftp.gnu.org/gnu/gdb/)
    将下载的 gdb-7.9.1.tar.gz 存放到 osdrv的tools/board/gdb/目录中

4. :ncurses-6.0.tar.gz  ( http://ftp.gnu.org/gnu/ncurses/)
    将下载的 ncurses-6.0.tar.gz 存放到 osdrv的tools/board/gdb/目录中

5. :util-linux-2.31.tar.gz (https://www.kernel.org/pub/linux/utils/util-linux/v2.31)
 将下载的 util-linux-2.31.tar.gz 存放到 osdrv的tools/pc/cramfs_tool/目录中

编译方法:

编译有2个方法,一个是传递参数,一个是修改Makefile。进入目录/package/osdr下

  1. 传递参数:
    make  BOOT_MEDIA=spi  CHIP=hi3516ev300 all

    2.修改Makefile:板载是W25Q128的spi nor flash。主控是Hi3516EV300.


    编译结果:

    编译的文件,最后会放在pub目录下的hi3516ev300_spi_image_uclibc文件夹下。

$ tree hi3516ev300_spi_image_uclibc
hi3516ev300_spi_image_uclibc
├── rootfs_hi3516ev300_128k.jffs2
├── rootfs_hi3516ev300_256k.jffs2
├── rootfs_hi3516ev300_2k_128k_32M.ubifs
├── rootfs_hi3516ev300_2k_24bit.yaffs2
├── rootfs_hi3516ev300_2k_4bit.yaffs2
├── rootfs_hi3516ev300_4k_24bit.yaffs2
├── rootfs_hi3516ev300_4k_256k_50M.ubifs
├── rootfs_hi3516ev300_4k_4bit.yaffs2
├── rootfs_hi3516ev300_64k.jffs2
├── u-boot-hi3516ev300.bin
└── uImage_hi3516ev300

因为DOPI ZERO 是板载的eMMC启动,所以
编译命令为make BOOT_MEDIA=emmc CHIP=hi3516ev300 all
则编译的结果会在pub目录下的hi3516ev300_emmc_image_uclibc:

$  tree hi3516ev300_emmc_image_uclibc/
hi3516ev300_emmc_image_uclibc/
├── rootfs_hi3516ev300_96M.ext4
├── u-boot-hi3516ev300.bin
└── uImage_hi3516ev300

烧录:

1. 烧录方法参考连接 http://doc.dopi.vip/docs/first/ev2006

2. 如果第一次使用海思的Hitool烧录程序,您需要进入uboot,输入usb devices,然后安装驱动

3. 安装工成功后,打开hitool,选择芯片为Hi3516EV300 选择固件

4. 点击Hitool上的烧录按钮,按住Typec旁边的按钮,再插上TYPEC,即可进行烧录

重点:如果您是第一次玩,请重点参考ev200里的烧录方法,举一反三,也可用在EV300的eMMC上烧录
文档更新时间: 2020-11-28 15:05   作者:Tony