2、ubuntu16.06安装Hi3518EV200 SDK

HI3518EV200 SDK安装并编译osdr。

1、开发环境

  • windows10电脑 + 虚拟机14 Pro + Ubuntu16.0.4

2、拷贝并解压。将 Hi3518E_SDK_V1.0.3.0.tgz拷贝到 Linux 服务器上。

    cd ~/sambashare/
    cp /mnt/hgfs/winshare/HI3518EV200/Hi3518E_V200R001C01SPC030/01.software/board/Hi3518E_SDK_V1.0.3.0.tgz ./ -f
    ls
    tar -xvf Hi3518E_SDK_V1.0.3.0.tgz

3、 安装

进入Hi3518E_SDK_V1.0.3.0目录,执行以下两个命令

    source sdk.cleanup         清除SDK
    source sdk.unpack         解压SDK

4、编译OSDRV

进入osdrv目录。

先执行distclean命令,确保SDK命令是干净的

    make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 distclean            

执行make all,编译整个osdrv目录

    make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.1 出现错误

/bin/sh: 1: pushd: not found

原因:

不能压栈入栈,因为pushd命令需要在bash的环境中执行,所以需要修改系统默认shell为bash

解决方法1

  • 步骤1.which sh,结果是/bin/sh
  • 步骤2.ls -l /bin/sh,结果sh指向dash
  • 步骤3.sudo rm /bin/sh
  • 步骤4.sudo ln -s /bin/bash /bin/sh
  • 步骤5.ls -l /bin/sh,结果sh指向bash

解决方法2

  • 步骤1.sudo dpkg-reconfigure dash 【NO】

  • 步骤2.ls -l /bin/sh,结果sh指向bash

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.2 出现错误

make[2]: arm-hisiv300-linux-gcc: Command not found

原因

交叉编译工具链未安装。
由于嵌入式单板的资源有限,不能在单板上运行开发和调试工具,通常需要交叉编译调试的方式进行开发和调试,即“宿主机+目标机(评估板)”的形式。
宿主机和目标机的处理器一般不相同。宿主机需要建立合适于目标机的交叉编译环境。程序在宿主机上经过“编译-链接-定位”得到可执行文件。通过一定的方法将可执行文件烧写到目标机中,然后再目标机上运行。所谓的交叉编译也就是A机编译,B机运行。
发布包提供两种编译工具链arm-hisiv300-linux 和 arm-hisiv400-linux,其中 arm-hisiv300-linux 为基于 uclibc 的工具链, arm-hisiv400-linux 为基于 glibc 的工具链。 uclibc比 glibc要小很多,因此我们选用arm-hisiv300-linux。

解决方法

  • 步骤1,进入工具链及其安装程序的目录位置:Hi3518E_SDK_V1.0.3.0/osdrv/opensource/toolchain/arm-hisiv300-linux
  • 步骤2,解压工具链:tar -xvf arm-hisiv300-linux.tar.bz2
  • 步骤3,安装工具链:sudo ./cross.install.v300
  • 步骤4,进入交叉编译工具链的挂载目录:cd /opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin
  • 步骤5,ls 【发现里面有很多arm-hisiv300-linux-uclibcgnueabi-xxx编译工具链】
  • 步骤6,file file arm-hisiv300-linux-uclibcgnueabi-gcc 【ELF 32-bit LSB executable,也就是说这个交叉编译工具链是32位的,但是我是用的虚拟机上Ubuntu16.04是64位的,因此必须安装32位的兼容包】
  • 步骤7,cd ../target/bin
  • 步骤8,ls 【发现里面有很多arm-hisiv300-linux-xxx编译工具链,这些是arm-hisiv300-linux-uclibcgnueabi-xxx的符号链接,就是我们要找的arm-hisiv300-linux工具链,可以用ls -l查看】
  • 步骤9,pwd 【/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin,记住这个路径,需要将这个路径导入到环境变量中:见步骤9,10】
  • 步骤10,vi ~/.bashrc,在文件末尾追加export PATH=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin:$PATH
  • 步骤11,source ~/.bashrc 【确保环境变量设置生效.,可以用echo $PATH查看是否成功导入】
  • 步骤12,ping www.baidu.com 【确保虚拟机能上网】
  • 步骤13,sudo aptitude install lib32z1 【注意:要安装任何软件之前,一定要确保虚拟机能上网】
  • 步骤14,sudo aptitude install lib32stdc++6-4.8-dbg 【注意:要安装任何软件之前,一定要确保虚拟机能上网】

测试是否已经成功安装了交叉编译工具链:

在ubuntu中只想一下命令

arm-hisiv300-linux-gcc -v
            出现了gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300)说明安装成功

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.3 出现错误

"mkimage" command not found - U-Boot images will not be built

解决方法1:

  • 步骤1,cd osdrv/opensource/uboot/u-boot-2010.06
  • 步骤2,ls 【可以看到里面uboot.bin已经生成了】
  • 步骤3,cd tools 【里面有mkimage.c和mkimage】
  • 步骤4,file mkimage 【写x86-64位的架构,ubuntu16.0.04也是x86-64架构,因此可以在当前虚拟机上运行】
  • 步骤5,sudo cp mkimage /usr/local/bin
  • 步骤6,cd ../../
  • 步骤7,ls 【发现里面要u-boot-2010.06文件夹和u-boot-2010.06.tgz压缩包】
  • 步骤8,mki[连续按TabTab键] 【发现补全mkimage,说明已经成功解决了】

解决方法2:

  • 步骤1, ping www.baidu.com 确保虚拟机能上网
  • 步骤2,sudo apt-get install u-boot-tools

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.4 出现错误:

compr_zlib.c:39:18: fatal error: zlib.h: No such file or directory

解决方法

  • 步骤1,sudo aptitude install zlib1g-dev

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.5 出现错误:

serve_image.c:32:18: error: storage size of ‘hints’ isn’t known

原因

在于ubuntu操作系统版本太高,而SDK使用的mtd-utils版本太低导致

解决方法

修改操作系统头文件/usr/include/netdb.h,将此宏__USE_XOPEN2K注释,如下图(注意#ifdef与#endif是一一对应的)
   
  • 步骤1,sudo vi /usr/include/netdb.h
  • 步骤2,:set nu 【显示行号】
  • 步骤3,/__USE_XOPEN2K 【搜索】
  • 步骤4,将第79行的#if defined __USE_XOPEN2K || defined __USE_XOPEN_EXTENDED和相应的第82行的#endif用//注释掉
  • 步骤5,/__USE_XOPEN2K 【搜索】
  • 步骤6,第565行的#ifdef __USE_XOPEN2K和第681行的的#endif用//注释掉 【用:681命令跳转到681行】

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.6 出现错误:

mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’

-----------

Makefile:204: recipe for target ‘hipctools‘ failed

原因:

mtd-utils_1.5.0.tar.bz2 库的问题,大家可以更新到 mtd-utils_1.5.2.tar.bz2 重新编译就可以了;
mtd-utils_1.5.2.tar.bz2的下载地址:http://nl.archive.ubuntu.com/ubuntu/pool/universe/m/mtd-utils/mtd-utils_1.5.2.orig.tar.bz2

失败的解决方案【不推荐,可跳过】

解决:
    下载mtd-utils-1.5.2.tar.bz2,替换osdrv\tools\pc\jffs2_tool目录下的mtd-utils-1.5.0.tar.bz2,
    tar -jcvf mtd-utils-1.5.2.tar.bz2 mtd-utils-1.5.2
    同时修改该目录下的Makefile 【不知道给如何修改】

解决方法待验证:
    1.你先将osdrv/Makefile中的jffs2_tool部分注释(不再编译sdk提供的源码包)
    2.然后自己从源上下载mkfs.jffs2(apt-get install mtd-utils)
    3.并且将执行文件放到pub/pc目录下。【执行文件是什么???】
    4.然后你再重新在osdrv/下编译(注意clean掉之前发生错误部分,不需要全部clean,选择hipctools_clean)
        make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 hipctools_clean

解决:
    下载并解压mtd-utils-1.5.2.tar.bz2到ubuntu中,然后进入mtd的目录,
    make

分析以及解决方案

总结:经过百度搜索以及各种探索,发现我不能解决这个问题,因此决定把这个问题跳过去
分析

根据打印的错误信息分析,因为:

mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’

-----------

Makefile:204: recipe for target ‘hipctools‘ failed

所以要研究总Makefile里面的‘hipctools‘部分:

    hipctools: prepare
           @echo "---------task [5] build tools which run on pc"
           make -C $(OSDRV_DIR)/tools/pc/mkyaffs2image/
           cp $(OSDRV_DIR)/tools/pc/mkyaffs2image/bin/$(YAFFS_TOOL) $(OSDRV_DIR)/pub/bin/pc
           make -C $(OSDRV_DIR)/tools/pc/jffs2_tool/
           cp $(OSDRV_DIR)/tools/pc/jffs2_tool/mkfs.jffs2 $(OSDRV_DIR)/pub/bin/pc
           cp $(OSDRV_DIR)/tools/pc/jffs2_tool/mkfs.ubifs $(OSDRV_DIR)/pub/bin/pc
           cp $(OSDRV_DIR)/tools/pc/jffs2_tool/ubinize $(OSDRV_DIR)/pub/bin/pc

对照打印错误信息1:

    ---------task [5] build tools which run on pc

推测1:

@echo "---------task [5] build tools which run on pc" 这一句成功运行了

对照打印错误信息2:

     make -C /home/aston/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/**tools/pc/mkyaffs2image/**
     make[1]: Entering directory ‘/home/aston/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/ ** tools/pc/mkyaffs2image ** ‘  

推测2:

    make -C $(OSDRV_DIR)/**tools/pc/mkyaffs2image/**  【上面的那一句打印信息对应此句】
    • 总结: make -C $(OSDRV_DIR)/tools/pc/mkyaffs2image/目的是为了生成mkyaffs2image100和mkfs.jffs2文件。

分析2:

  • 步骤1,进入osdrv/tools/pc/mkyaffs2image/mkyaffs2image/目录,并且ls,【发现里面有很多.c,.h文件,以及有makefile。推测这个文件是为了生成某个东西】
  • 步骤2,进入osdrv/tools/pc/mkyaffs2image/bin,并且ls 【发现已经里面生成了mkyaffs2image100文件】
  • 步骤3,进入osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0 ,并且ls 【发现已经里面生成了mkfs.jffs2】【分析makfile,并结合网上信息】

对照打印错误信息3:

    ********************************经过验证分析发现从这里开始出错了

推测2:

    cp $(OSDRV_DIR)/tools/pc/mkyaffs2image/bin/$(YAFFS_TOOL) $(OSDRV_DIR)/pub/bin/pc【上面的那一句打印信息对应此句】
    
    • 总结:这句话的目的:将生成的mkyaffs2image100和mkfs.jffs2文件复制到osdrv/pub/bin/pc目录中去

验证上面的语句是否成功执行:

  • 步骤1,cd osdrv/pub/bin/pc
  • 步骤2,ls 【里面只有mkyaffs2image100】
解决方案:
第一步:手动执行这一句[cp $(OSDRV_DIR)/tools/pc/mkyaffs2image/bin/$(YAFFS_TOOL) $(OSDRV_DIR)/pub/bin/pc]
  • 步骤1,cd osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0
  • 步骤2,cp ./mkfs.jffs2 ./../../../../../pub/bin/pc
  • 步骤3,ls ./../../../../../pub/bin/pc 【里面mkfs.jffs2,mkyaffs2image100】
第二步:然后将osdrv的总Makefile里面的jffs2_tool注释掉【用#】:
  • 步骤1,sudo vi Makefile
  • 步骤2,/jffs2_tool 【搜索】

    #make -C $(OSDRV_DIR)/tools/pc/jffs2_tool/

    #cp $(OSDRV_DIR)/tools/pc/jffs2_tool/mkfs.jffs2 $(OSDRV_DIR)/pub/bin/pc

    #cp $(OSDRV_DIR)/tools/pc/jffs2_tool/mkfs.ubifs $(OSDRV_DIR)/pub/bin/pc

    #cp $(OSDRV_DIR)/tools/pc/jffs2_tool/ubinize $(OSDRV_DIR)/pub/bin/pc

    #cp $(OSDRV_DIR)/tools/pc/jffs2_tool/ubi.cfg $(OSDRV_DIR)/pub/bin/pc

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.7 出现错误:

configure: error: ncurses or ncursesw selected, but library not found (--without-ncurses to disable)

解决方法

  • 步骤1,sudo apt-get install libncurses5-dev libncursesw5-dev【先确保能ping通】

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.8 结果

出现---------finish osdrv work,表示整个osdrv编译成功

  • 总结:此时只有mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’被跳过了。拍摄快照。

4.9 查看成果:

查看:

  • cd /home/aston/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/pub/image_uclibc

    4.8M rootfs_hi3518ev200_128k.jffs2

    4.8M rootfs_hi3518ev200_256k.jffs2

    12M rootfs_hi3518ev200_2k_4bit.yaffs2

    16M rootfs_hi3518ev200_32M.ext4

    4.8M rootfs_hi3518ev200_64k.jffs2

    268K u-boot-hi3518ev200.bin

    2.6M uImage_hi3518ev200

5. 整个osdrv目录结果分析

进入osdrv,第一次make distclean之后,终端执行命令tree osdrv/

osdrv/

├── Makefile --------------------------------- osdrv目录编译脚本

├── opensource ------------------------------- 存放各种开源源码目录

│ ├── busybox ------------------------------ 存放busybox源代码的目录

│ │ └── busybox-1.20.2.tgz

│ ├── kernel ------------------------------- 存放kernel源代码的目录

│ │ └── linux-3.4.y.tgz

│ ├── toolchain ---------------------------------- 存放工具链的目录

│ │ ├── arm-hisiv300-linux --------------------- 交叉编译工具链

│ │ │ ├── arm-hisiv300-linux.tar.bz2

│ │ │ ├── cross.install.v300

│ │ │ └── runtime_lib 【有很多以a开头的文件夹,里面全是lib.tgz文件】

│ │ │ ├── a7_hard_neon-vfpv4

│ │ │ │ └── lib.tgz

│ │ │ ├── a7_soft

│ │ │ │ └── lib.tgz

│ │ └── arm-hisiv400-linux --------------------- 交叉编译工具链

│ │ ├── arm-hisiv400-linux.tar.bz2

│ │ ├── cross.v400.install

│ │ └── runtime_lib

│ │ ├── a7_hard_neon-vfpv4

│ │ │ └── lib.tgz

│ │ ├── a7_soft

│ │ │ └── lib.tgz

│ └── uboot -------------------------------------- 存放uboot源代码的目录

│ └── u-boot-2010.06.tgz

├── pub ------------------------------------------- 存放各种镜像的目录【从这里可以看出,原本pub是空的,直到make all编译完成后里面才有东西】

├── readme_cn.txt

├── readme_en.txt

├── rootfs_scripts-------------------------------- 存放根文件系统制作脚本

│ └── rootfs.tgz

└── tools --------------------------------------------- 存放各种工具的目录

├── board ----------------------------------------- 各种单板上使用工具

│ ├── e2fsprogs ---------------------------------

│ │ ├── e2fsprogs-1.41.11.tar.gz

│ │ └── Makefile

│ ├── ethtools

│ │ ├── ethtool_6.orig.tar.gz

│ │ └── Makefile

│ ├── gdb

│ │ ├── gdb-7.6.tar.bz2

│ │ ├── Makefile

│ │ └── ncurses-5.9.tar.gz

│ ├── hifat -------------------------------------FAT文件系统制作工具

│ │ ├── glibc

│ │ │ ├── himount_api.h

│ │ │ ├── how_to_use_[chs].txt

│ │ │ ├── how_to_use_[en].txt

│ │ │ ├── shared

│ │ │ │ ├── himount

│ │ │ │ ├── libfs_lib.so

│ │ │ │ ├── libfuse.so

│ │ │ │ ├── libfuse.so.2

│ │ │ │ ├── libfuse.so.2.8.3

│ │ │ │ ├── libhimount_api.so

│ │ │ │ ├── libsdparm.so

│ │ │ │ ├── libulockmgr.so

│ │ │ │ ├── libulockmgr.so.1

│ │ │ │ └── libulockmgr.so.1.0.1

│ │ │ ├── src

│ │ │ │ └── hifat-1.0-glibc.tgz

│ │ │ └── static

│ │ │ ├── himount

│ │ │ └── libhimount_api.a

│ │ └── uclibc

│ │ ├── himount_api.h

│ │ ├── how_to_use_[chs].txt

│ │ ├── how_to_use_[en].txt

│ │ ├── shared

│ │ │ ├── himount

│ │ │ ├── libfs_lib.so

│ │ │ ├── libfuse.so

│ │ │ ├── libfuse.so.2

│ │ │ ├── libfuse.so.2.8.3

│ │ │ ├── libhimount_api.so

│ │ │ ├── libsdparm.so

│ │ │ ├── libulockmgr.so

│ │ │ ├── libulockmgr.so.1

│ │ │ └── libulockmgr.so.1.0.1

│ │ ├── src

│ │ │ └── hifat-1.0-uclibc.tgz

│ │ └── static

│ │ ├── himount

│ │ └── libhimount_api.a

│ ├── mkdosfs ----------------------------------- mkdosfs工具

│ │ ├── dosfstools-3.0.26.tar.gz

│ │ └── Makefile

│ ├── mtd-utils --------------------------------- flash裸读写工具集

│ │ ├── Makefile

│ │ └── mtd-utils-1.5.0.tar.bz2

│ ├── reg-tools-1.0.0 --------------------------- 寄存器读写工具

│ │ ├── include

│ │ │ ├── common ---------------------------- 里面是公共头文件

│ │ │ └── utils ----------------------------- 里面是utils的头文件

│ │ ├── Makefile ------------------------------ tools的makefile

│ │ └── source

│ │ ├── common ---------------------------- 里面是公共c源码

│ │ ├── tools ----------------------------- 里面是tools的c源码

│ │ └── utils ----------------------------- 里面是utils的c源码

│ └── udev-164 --------------------------- udev工具集

│ ├── Makefile

│ ├── rootfs

│ │ ├── bin

│ │ └── etc

│ │ └── udev

│ ├── rootfs.tar.bz2

│ └── udev-164.tar.bz2

├── Makefile

└── pc ------------------------------------------ 各种pc上使用工具

├── cramfs_tool ----------------------------- cramf文件系统制作工具

│ ├── Makefile

│ └── util-linux-2.22-rc2.tar.bz2

├── ext4_utils

│ ├── ext4_utils.tar.bz2

│ └── Makefile

├── jffs2_tool ----------------------------- jffs2文件系统制作工具

│ ├── lzo-2.09.tar.gz

│ ├── Makefile

│ └── mtd-utils-1.5.0.tar.bz2

├── lzma_tool ------------------------------ lzma压缩工具

│ ├── lzma-4.32.7.tar.gz

│ └── Makefile

├── mkimage_tool --------------------------- uImage制作工具

│ ├── fastboot.tar.bz2

│ └── Makefile

├── mkyaffs2image ------------------------- yaffs2文件系统制作工具

│ ├── Makefile

│ └── mkyaffs2image.tar.bz2

├── nand_production ------------------------ nand量产工具

│ ├── nand_production_hitool

│ │ └── readme

│ └── nand_production_linux

│ ├── spinand_product

│ └── spinand_readme.txt

├── squashfs4.2 ------------------------- squashfs文件系统制作工具

│ ├── Makefile

│ ├── squashfs4.2.tar.bz2

│ ├── xz-5.0.4.tar.bz2

│ └── zlib-1.2.7.tar.bz2

├── ubifs_config ---------------------------ulifs文件系统配置工具

│ ├── ubi_hi3516cv200.cfg

│ ├── ubi_hi3518ev200.cfg

│ └── ubi_hi3518ev201.cfg

├── uboot_tools---------------------------- uboot镜像制作工具、xls文件及ddr初始化脚本、Fastboot工具

│ ├── Hi3516CV200-DEMO-uboot-DDR3-DDRC200MHz-256MB-16bit-CPU600MHz-AXI200MHz.log

│ ├── Hi3516CV200-DMEB-uboot-DDR3-DDRC200MHz-256MB-16bit-CPU600MHz-AXI200MHz.xls

│ ├── Hi3518EV200-DMEB-uboot-DDR2-DDRC180MHz-64MB-16bit-CPU540MHz-AXI200MHz.log

│ ├── Hi3518EV200-DMEB-uboot-DDR2-DDRC180MHz-64MB-16bit-CPU540MHz-AXI200MHz.xls

│ ├── Hi3518EV201-DMEB-uboot-DDR2-DDRC180MHz-32MB-16bit-CPU540MHz-AXI200MHz.log

│ ├── Hi3518EV201-DMEB-uboot-DDR2-DDRC180MHz-32MB-16bit-CPU540MHz-AXI200MHz.xls

│ ├── mkboot.sh

│ ├── readme

│ ├── reg_info_hi3516cv200.bin

│ ├── reg_info_hi3518ev200.bin

│ └── reg_info_hi3518ev201.bin

└── zlib

├── Makefile

└── zlib-1.2.7.tar.bz2

5. 分析osdrv的目录结构

编译完成osdrv之后,进入osdrv目录:执行命令tree pub 【编译完后的镜像放在/osdrv/pub目录下】

pub

├── bin

│   ├── board_uclibc -------------------- hisiv300编译出的单板工具

│   │   ├── ethtool

│   │   ├── flashcp

│   │   ├── flash_erase

│   │   ├── flash_otp_dump

│   │   ├── flash_otp_info

│   │   ├── gdb-arm-hisiv300-linux

│   │   ├── hifat -------------------------- hifat工具

│   │   │   ├── himount_api.h

│   │   │   ├── how_to_use_[chs].txt

│   │   │   ├── how_to_use_[en].txt

│   │   │   ├── shared

│   │   │   │   ├── himount

│   │   │   │   ├── libfs_lib.so

│   │   │   │   ├── libfuse.so

│   │   │   │   ├── libfuse.so.2

│   │   │   │   ├── libfuse.so.2.8.3

│   │   │   │   ├── libhimount_api.so

│   │   │   │   ├── libsdparm.so

│   │   │   │   ├── libulockmgr.so

│   │   │   │   ├── libulockmgr.so.1

│   │   │   │   └── libulockmgr.so.1.0.1

│   │   │   ├── src

│   │   │   │   └── hifat-1.0-uclibc.tgz

│   │   │   └── static

│   │   │   ├── himount

│   │   │   └── libhimount_api.a

│   │   ├── mtd_debug

│   │   ├── nanddump

│   │   ├── nandtest

│   │   ├── nandwrite

│   │   └── sumtool

│   └── pc 【各种pc工具 】

│   ├── lzma --------------------------------------- lzma压缩工具

│   ├── make_ext4fs -------------------------------- ext4文件系统制作工具

│   ├── mkfs.cramfs -------------------------------- cramf文件系统制作工具

│   ├── mkfs.jffs2 ------------------------------------ jffs2文件系统制作工具

│   ├── mkimage ------------------------------------ uImage制作工具

│   ├── mksquashfs --------------------------------- squashfs文件系统制作工具

│   └── mkyaffs2image100 ------------------------ yaffs2文件系统制作工具

├── image_uclibc --------------------------------------- hisiv300编译出的镜像文件

│   ├── rootfs_hi3518ev200_128k.jffs2 ------------128K jffs2文件系统镜像

│   ├── rootfs_hi3518ev200_256k.jffs2 ----------- 256K jffs2文件系统镜像

│   ├── rootfs_hi3518ev200_2k_4bit.yaffs2 ------ yaffs 文件系统镜像

│   ├── rootfs_hi3518ev200_32M.ext4 ------------ ext4 文件系统镜像

│   ├── rootfs_hi3518ev200_64k.jffs2 ------------- 64K jffs文件系统镜像

│   ├── u-boot-hi3518ev200.bin -------------------- uboot镜像

│   └── uImage_hi3518ev200 ----------------------- kernel镜像

└── rootfs_uclibc.tgz ------------------------ hisiv300编译出的rootfs文件系统

总结:编译整个osdrv的目的是为了生成相应的uboot,kernel,yaffs以下载到开发板上。

原文地址:https://www.cnblogs.com/Ocean-Star/p/8902397.html

时间: 2024-08-07 11:58:35

2、ubuntu16.06安装Hi3518EV200 SDK的相关文章

ubuntu14.04安装HI3518EV200的过程

1.海思SDK安装编译 Hi3518EV200_SDK是基于Hi3518EV200_DMEB的软件开发包,包含了在Linux相关应用开发时使用的各种工具及其源代码,是用户开发中最基本的软件平台. 1.1 安装 Hi3518EV200 SDK 步骤 1. 拷贝.将 Hi3518E_SDK_V1.0.3.0.tgz拷贝到 Linux 服务器上. 步骤 2. 解压.解压文件,使用命令: tar –zxf Hi3518E_SDK_V1.0.3.0.tgz. 步骤3. 安装.解压完成后,进入Hi3518E

Ubuntu16.04安装tensorflow+安装opencv+安装openslide+安装搜狗输入法

Ubuntu16.04在cuda以及cudnn安装好之后,安装tensorflow,tensorflow以及opencv可以到网上下载对应的安装包并且直接在安装包所在的路径下直接通过pip与conda进行安装,如下图所示: 前提是要下载好安装包.安装好tensorflow之后还需要进行在~/.bashrc文件中添加系统路径,如下图所示 Openslide是医学图像一个重要的库,这里给出三条命令进行安装 sudo apt-get install openslide-tools sudo apt-g

Ubuntu16.04安装opencv for python/c++

Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一些人带去便利,节省时间. 1.安装OpenCV所需的库 1 sudo apt-get install build-essential 2 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavforma

Ubuntu16.04 安装JDK Tomcat

Ubuntu16.04安装jdk,下载linux中的64版本 需要下载jdk,tomcat安装包 tar.gz版本的 http://pan.baidu.com/s/1mi4WVhA 安装JDK: [email protected]:~$ sudo mkdir /java [sudo] hongdada 的密码: hongdada[email protected]:~$ cd /Downloads bash: cd: /Downloads: 没有那个文件或目录 [email protected]:

Linux入门(9)——Ubuntu16.04安装flash player

打开网页经常提示安装flash player,不安装flash player很多网页的视频都看不了. Ubuntu16.04安装flash player 打开终端,输入: sudo apt-get install flashplugin-installer

ubuntu16.04安装部署监控系统zabbix2.4

Ubuntu16.04安装部署监控系统Zabbix2.4 第一部分,php+mysql+nginx组件安装 1.系统更新 sudo apt-get update && sudo apt-get upgrade 2.安装php-fpm 检索系统当前自带的PHP版本:apt-cache search php-fpm 安装依赖包:sudo apt-get install make  bison g++ build-essential libncurses5-dev cmake 安装php-fpm

(转)安装Android SDK时遇到Failed to rename directory

安装Android SDK时遇到Failed to rename directory E:\Java\Android SDK\android-sdk_r06-windows\android-sdk-windows\tools to E:\Java\Android SDK\android-sdk_r06-windows\android-sdk-windows\temp\ToolPackage.old01     这样的问题?总是提示无法改名?     解决方法如下:     1.备份tools文件

Ubuntu下全命令行安装Android SDK

为了在AWS云服务器上实现自动化打包Android APP的APK包,我需要远程命令行环境下安装Android SDK,当然还要用代理或者科学上网,这里简单整理一下过程: 首先,由于墙的原因,Android SDK基本无法直接下,必须使用代理或者国内镜像之类,这里推荐使用上海交大的,参数: --proxy-host sdk.gdgshanghai.com --proxy-port 8000 以下是具体的安装步骤 1)安装JDK,建议不要使用OpenJDK,使用Oracle的官方版本最佳 sudo

WinXP SP3 下安装 Android SDK,模拟器启动时出现错误...

============问题描述============ WinXP SP3 下安装 Android SDK,模拟器启动时出现错误. 安装了两个版本的 Android SDK,都是一样的. installer_r23.0.2-windows.exe 和 installer_r22.6-windows.exe 请问怎么可以解决这个问题?多谢!!! ============解决方案1============ 这个自带的模拟器太慢,下一个bluestakes或genymotion吧 =========