zoukankan      html  css  js  c++  java
  • 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	oolspcjffs2_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以下载到开发板上。

  • 相关阅读:
    script中的event和for的意思
    jQuery选择器详解(一)转载自:http://blog.imbolo.com/jqueryselectors/#comments
    抽象类那点事(一步步案例分析,为什么需要它)
    关于application/xwwwformurlencoded等字符编码的解释说明 + 异步 True 或 False?+ onreadystatechange 事件
    SVG中中文字体的显示
    通过Virtualbox安装Ubuntu设置Emacs搭建Erlang环境
    试用Windows Live Writer
    Erlang中Eunit基本内容汇总
    xml特殊字符
    VS2010开发环境最佳字体及配色
  • 原文地址:https://www.cnblogs.com/Ocean-Star/p/8902397.html
Copyright © 2011-2022 走看看