海思Hi3531DV100开发环境搭建(1)

(本方案在linkpi开发板Hi3531Dv100上测试)

一 安装SDK

1、Hi3531DV100 SDK包位置
在"Hi3531DV100_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531DV100_SDK_Vx.x.x.x.tgz的文件,该文件就是Hi3531DV100的软件开发包。
拷贝到Linux下,运行命令,
sudo tar -zxvf Hi3531D_SDK_V1.0.3.0.tgz
cd Hi3531D_SDK_V1.0.3.0/
sudo ./sdk.cleanup清楚SDK
sudo ./sdk.unpack解压SDK
返回Hi3531D_SDK_Vx.x.x.x目录,运行./sdk.unpack(请用root或sudo权限执行)将会展开SDK包打包压缩存放的内容,请按照提示完成操作。
如果您需要通过WINDOWS操作系统中转拷贝SDK包,请先运行./sdk.cleanup,收起SDK包的内容,拷贝到新的目录后再展开。
问题
海思SDK安装时,无法运行sdk.unpack
原因
BASH 和 DASH 的问题。
Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,
它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准。
解决
方法一
1、vim scripts/common.sh; 第一行, #!/bin/sh 为 #!/bin/bash
2、vim sdk.unpack第一行, #!/bin/sh 为 #!/bin/bash, 也可以正常解压
方法二

sudo dpkg-reconfigure dash
Using dash as the system shell will improve the system's overall performance. It does not alter the shell presented to interactive users.
Use dash as the default system shell (/bin/sh)?

选择no
备注
两种方式都可以解决问题,但是海思的SDK中很多sh文件,逐个修改很麻烦,用第二种方式修改系统,一劳永逸!
原文链接:https://blog.csdn.net/qq_29350001/article/details/52447485

SDK目录介绍:

|--Hi3531D V100R001C0xSPC0xx_SDK.rar
|   |--01.software
|       |--board
|           |--Hi3531D_SDK_Vx.x.x.x
|               |-- sdk.cleanup                 # SDK清理脚本
|               |-- sdk.unpack                  # SDK展开脚本
|               |-- osdrv                       # 存放操作系统及相关驱动的目录
|               |   |-- opensource              # opensource源代码
|               |   |   |-- busybox             # busybox源代码
|               |   |   |-- kernel              # linux内核补丁文件
|               |   |   |-- uboot               # uboot源代码
|               |   |-- pub                     # 编译好的镜像、工具、drv驱动等
|               |   |-- tools                   # linux工具源代码
|               |   |-- readme_cn.txt           # osdrv使用说明(中文版)
|               |   |-- readme_en.txt           # osdrv使用说明(英文版)
|               |   |-- ......                  #
|               |   `-- Makefile                # osdrv Makefile
|               |-- package                     # 存放SDK各种压缩包的目录
|               |   |-- osdrv.tgz               # linux内核/uboot/rootfs/tools源码压缩包
|               |   |-- mpp.tgz                 # 媒体处理平台软件压缩包
|               |   |-- drv.tgz                 # drv压缩包
|               |   |-- osal.tgz                # osal压缩包
|               |   |-- rootfs_*.tgz            # rootfs压缩包
|               |   |-- image *                 # 可供FLASH烧写的映像文件,如内核、根文件系统
|               |-- scripts                     # 存放shell脚本的目录
|               |-- drv                         # drv目录
|               |-- osal                        # osal目录
|               |    |-- include                # 存放操作系统适配层的头文件的目录
|               |    |-- source                 # 存放操作系统适配层的源文件的目录
|               |-- mpp                         # 存放媒体处理平台的目录
|                   |-- component               # 组件源代码
|                   |-- extdrv                  # 板级外围驱动源代码
|                   |-- include                 # 对外头文件
|                   |-- ko                      # 内核模块
|                   |-- lib                     # release版本库以及音频库
|                   |-- linux.param         # linux相关的全局编译选项
|                   |-- Makefile.param          # mpp一些全局编译选项
|                   |-- tools                   # 媒体处理相关工具
|                   `-- sample                  # 样例源代码
|
|--arm-hisiv500-linux.tgz           # uclibc交叉编译器压缩包
|--arm-hisiv600-linux.tgz           # glibc交叉编译器压缩包

二 在linux服务器上安装交叉编译器

1)安装uclibc交叉编译器(注意,需要有sudo权限或者root权限):
获取arm-hisiv500-linux.tgz文件,使用命令:tar -zxf arm-hisiv500-linux.tgz解压文件,进入arm-hisiv500-linux目录,
运行chmod +x arm-hisiv500-linux.install,然后运行./arm-hisiv500-linux.install即可。
2) 安装glibc交叉编译器(注意,需要有sudo权限或者root权限):
获取arm-hisiv600-linux.tgz文件,使用命令:tar -zxf arm-hisiv600-linux.tgz解压文件,进入arm-hisiv600-linux目录,
运行chmod +x arm-hisiv600-linux.install,然后运行./arm-hisiv600-linux.install即可。
3) 执行source /etc/profile, 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。
出现错误1

doctor@ubuntu:~/workspace/Hisi/arm-hisiv500-linux$ arm-hisiv500-linux-gcc -v
arm-hisiv500-linux-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory


在交叉编译工具链的文件夹中使用file命令,可以看出这个交叉编译工具链是32位的,我这里使用的是64位的ubuntu,所以要打32位的补丁才能正常使用。

apt-get install lib32ncurses5
apt-get install lib32z1

出现错误2

doctor@ubuntu:~/workspace/Hisi/arm-hisiv500-linux$ arm-hisiv500-linux-gcc -v
arm-hisiv500-linux-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

解决办法

apt-get install lib32z1 lib32ncurses5
apt-get install lib32stdc++6

运行arm-hisiv500-linux-gcc -v
可以看到交叉编辑的版本号
gcc version 4.9.4 20150629 (prerelease) (Hisilicon_v500_20170922)
说明安装成功

三 编译U-boot

当所有以上移植步骤完成后,就可以编译 U-boot,操作如下:
步骤 1. 配置编译环境
make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux- hi35xx_config
对于Hi3531DV100
make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux- hi3531d_nand_config

如果没有配置环境变量,需要把编辑器的地址添加进去

make ARCH=arm CROSS_COMPILE=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux- hi3531d_nand_configmake ARCH=arm CROSS_COMPILE=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-
                                    说明

Hi3531DV100/Hi3521DV100:其中 hi35xx_config 为支持 SPI Nor Flash 和 SPI Nand Flash 的
配置,
Hi3531DV100 还支持 Parallel NAND Flash,hi3531d_nand_config 为 Parallel NAND Flash 的配
置。

步骤 2. 编译 U-boot
make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux-
编译成功后,将在u-boot目录下生成u-boot.bin。
本文:
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-

                                           说明:
其中 CROSS_COMPILE 表示工具链。文档中统一以 CROSS_COMPILE=arm-hisivXXX-linux-
来表示两种情况。
Hi35xx_V100R001C01SPCxxx 对应 uclibc,使用 uclibc 工具链时,CROSS_COMPILE=armhisiv500-linux-。
Hi35xx_V100R001C02SPCxxx 对应 glibc,使用 glibc 工具链时,CROSS_COMPILE=armhisiv600-linux-。

编译成功后,将在u-boot目录下生成u-boot.bin。
这一步生成的 u-boot.bin 只是一个中间件,并不是最终在单板上执行的 U-boot 镜像。

3.1 配置 DDR 存储器

在 Windows 下打开 SDK 中的“osdrv/tools/pc/uboot_tools/”目录下的配置表格。当选用
不同的 DDR SDRAM 时,需要针对不同器件的特性,对配置工作表中的标签页
【mddrc_dmc0】、【mddrc_dmc1】、【mddrc_phy0】和【mddrc_phy1】进行修改。
参考文档<Hi3531DV100 DDR3 参数配置方法.pdf>

3.2配置管脚复用

如果管脚复用有变化,还需要对配置表格中的标签页【muxctrl_reg】进行修改。

3.3生成最终使用的 U-boot 镜像

步骤 1. 完成配置表格的修改后,保存表格。
步骤 2. 单击表格第一个标签页上的按钮【Generate reg bin file】或者使用 hiregbin 工具(详细
使用方法请参考 osdrv/ tools/pc/uboot_tools/ hiregbin-v5.0.0.tgz 压缩包里的 readme 文
件),生成临时文件 reg_info.bin。
步骤 3. 将临时文件 reg_info.bin 和编译 u-boot 得到的 u-boot.bin 都拷贝到 SDK 中的
“osdrv/tools/pc/uboot_tools/”目录下,执行命令:
./mkboot.sh reg_info.bin u-boot-hi35xx.bin
其中 u-boot-hi35xx.bin 就是能够在单板上运行的 U-boot 镜像。
如果出现错误:
sudo: ./mkboot.sh:找不到命令
解决办法:
右击mkboot.sh文件,打开属性———>权限——>勾选允许作为程序执行文件
退出即可
重新运行./mkboot.sh reg_info.bin u-boot-hi35xx.bin,问题已解决

四 编译osdrv

4.1.osdrv 顶层 Makefile 使用说明

本目录下的编译脚本支持选用下文提到的两种工具链中的任何一种进行编译,因此编译时需要带上一个编译参数以指定对应的工具链 – arm-hisiv500-linux 和 arm-hisiv600-linux。其中,arm-hisiv500-linux工具链对应uclibc库,arm-hisiv600-linux工具链对应glibc库。具体命令如下

(1)加载内核源码:
注意:默认不发布内核源码包,只发布补丁文件。内核源码包需自行从开源社区上下载。
从linux开源社区下载v3.18.20版本的内核:
1)进入网站:www.kernel.org
2)选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面
3)选择linux/菜单项,进入子页面
4)选择kernel/菜单项,进入子页面
5)选择v3.x/菜单项,进入子页面
6)下载linux-3.18.20.tar.gz (或者linux-3.18.20.tar.xz)到osdrv/opensource/kernel目录下:
解压到该文件夹
sudo tar -zxvf linux-3.18.20.tar.xz

(2)打补丁
步骤 1. 将下载的 linux-3.18.20.tar.gz 存放到 hi35xx SDK 发布包的 osdrv/opensource/kernel 目录

步骤 2. 在 linux 服务器中进入 hi35xx SDK 发布包 osdrv 的根目录,执行如下命令:

cd opensource/kernel
tar -zxf linux-3.18.20.tar.gz
mv linux-3.18.20 linux-3.18.y
cd linux-3.18.y
patch -p1 < ../hi3xx_for_linux_v3.18.y.patch
cd ../

(3)编译整个osdrv目录:
make OSDRV_CROSS=arm-hisiv500-linux all
或者
make OSDRV_CROSS=arm-hisiv600-linux all
本文使用
make OSDRV_CROSS=arm-hisiv500-linux all

如果整个编译会出现错误:
compr_zlib.c:39:18: fatal error: zlib.h: 没有那个文件或目录
导致编译中断,原因是没有安装zlib包,安装:
sudo apt-get install zlib1g-dev

(4)配置内核
配置内核的操作步骤如下:

步骤 1. 手动拷贝.config 文件:

$cd kernel/linux-3.18.y
$cp arch/arm/configs/hi35xx_full_defconfig .config

本文使用

$cd kernel/linux-3.18.y
$cp arch/arm/configs/hi3531dv100_full_defconfig .config

对于Hi3531DV100
$cp arch/arm/configs/hi3531d_nand_defconfig .config
Hi3531DV100/Hi3521DV100:其中 hi35xx_full_defconfig 为支持 SPI Nor Flash 和 SPI Nand
Flash 的配置。
Hi3531DV100 还支持 Parallel Nand Flash,hi3531d_nand_defconfig 为支持 Parallel Nand Flash
的配置。

说明:

(2)清除整个osdrv目录的编译文件:make OSDRV_CROSS=arm-hisiv500-linux clean或者make OSDRV_CROSS=arm-hisiv600-linux clean
(3)彻底清除整个osdrv目录的编译文件,除清除编译文件外,还删除已编译好的镜像:make OSDRV_CROSS=arm-hisiv500-linux distclean或者make OSDRV_CROSS=arm-hisiv600-linux distclean)

步骤 2. 用户通过“make menuconfig”进行内核配置:
$make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- menuconfig
本文使用
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
步骤 3. 选择需要的模块。
步骤 4. 选择完毕后,保存并退出。

(4)编译内核并生成内核镜像 uImage
注意:单独编译内核之前请先阅读osdrv/opensource/kernel下的readme_cn.txt说明。
配置保存后,可直接输入“make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linuxuImage 命令编译内核生成镜像,此时需要等待几分钟。

     如果编译过程中出现错误,按顺序执行以下命令:make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- cleanmake ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- menuconfigmake ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- uImagehi3531d_xxx_defconfig参数设置说明:为hi3531d_full_defconfig时,使用SPI Nor Flash或SPI Nand Flash,PCIE选择主片模式;为hi3531d_full_slave_defconfig时,使用SPI Nor Flash或SPI NandFlash,PCIE选择从片模式;为hi3531d_nand_defconfig时,使用Nand Flash,PCIE选择主片模式;为hi3531d_nand_slave_defconfig时,使用Nand Flash,PCIE选择从片模式;

4.2整个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

原文链接:https://blog.csdn.net/wytzsjzly/article/details/82951747

分析pub的目录结构

编译完成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文件系统

原文链接:https://blog.csdn.net/wytzsjzly/article/details/82951747

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

(1)海思Hi3531DV100开发环境搭建相关推荐

  1. 海思[hi3531]编译环境搭建(针对用于编译程序不制作内核和系统的开发者)

    海思3531软件环境搭建 确保Ubuntu能连网,把环境配置好安装以下软件 解压SDK压缩包(SDK可以找我拿Q:812417530) 解压工具链(可找我拿Q:812417530) 关于配置环境变量的 ...

  2. 华为海思芯片SDK----- LINUX环境搭建

    华为海思芯片SDK----- LINUX环境搭建 一.安装交叉编译器:hcc_riscv32.tar.gz 解压压缩包:tar zxvf hcc_riscv32.tar.gz 新建一个文件夹:mkdi ...

  3. 研发日记——海思HI3519A芯片环境搭建

    [1]SDK安装 1.1 Hi3519AV100 SDK 包位置 在"Hi3519AV100***/01.software/board"目录下,可以看到一个Hi3519AV100_ ...

  4. 老是说我编译版本不够_海思3518E编译环境搭建

    一.系统准备 1. Hi3518e的SDK 2. Ubuntu安装文件,这次安装的版本是20.04 3. Vmware虚拟机,也可以直接安装一台编译服务器,这次安装的是虚拟机 4. 安装虚拟机的时候, ...

  5. 海思(三)Taurus的开发环境搭建

    之前写的那篇没有及时发布 结果丢了 (重新开一篇) 下面是Taurus的开发环境搭建步骤 1.导入OpenHarmony源码 1.打开DevEco Device Tool,进入Home页,点击Impo ...

  6. 【海思AI芯片Hi3559A】学习笔记(1):开发环境搭建、安装SDK

    芯片资料见Hi3559A的资料包 主要参考文档:ReleaseDoc\zh\01.software\board\Hi3559A╱C V100 SDK 安装及升级使用说明.pdf 注意所有解压操作均要在 ...

  7. 极海APM微控制器基于IAR开发环境搭建与工程调试配置方法

    极海APM微控制器基于IAR开发环境搭建与工程调试配置方法 ✨本篇主要针对基于IAR for ARM版本:V9.30.1环境搭建和工程调试配置过程进行介绍,当然也同样适用于基于ARM架构芯片的开发使用 ...

  8. Hi3519V101开发环境搭建(二)

    目录 目录 前言 编译U-boot 编译Linux-318y的内核 链接地址 前言 前面已经搭建好了Ubuntu下的海思开发环境,现在对编译Uboot和Kernel的过程做一个简单的记录.参考文档&l ...

  9. Hi3519V101开发环境搭建(一)

    Hi3519V101开发环境搭建(一) 摘要:引言目前接触的项目使用海思平台.这里记录下海思3519的开发环境的搭建过程,感觉每次搭建都要参考<Hi3519V101Linux开发环境用户指南.p ...

最新文章

  1. .md 文件的格式:写出好看的笔记
  2. python虚拟环境的目录是啥_Python 虚拟环境
  3. Nmap源码分析(服务与版本扫描)
  4. 你不知道的JavaScript运算符
  5. 3,ORM组件XCode(简介)
  6. Juddi介绍及安装
  7. [iOS]通过xib定义Cell然后关联UICollectionView
  8. 2019计算机调剂困难,2019年研究生调剂困难程度远超想象
  9. ThinkPHP如果表名有下划线需要用Model应该怎么做?
  10. 极限运动:街头极限单车,不只是牛逼!
  11. win10前置耳机插孔没声音_iqoo耳机突然没声音-杰讯手机维修中心
  12. ESP8266-AT指令集
  13. windows系统笔记本连接外部显示器进行分屏
  14. mongoose时间自动转化为格林尼治标准时间的解决方案
  15. 使用OpenCV,Python和dlib进行眨眼检测
  16. macOS10.13.6及以下版本不能自动升级到更高版本的解决方案
  17. 虚拟机挂起后硬盘响应变慢,SCSI转IDE方法
  18. 2022高教杯思路合集!!全国大学生数学建模竞赛
  19. 关于COM中变体类型VARIANT
  20. 黑苹果0x0501_黑苹果原版安装从零开始---3-clover配置篇

热门文章

  1. Excel怎么统计多行多列数据出现的重复次数
  2. 洛基国际英语推荐的20首英文歌曲
  3. 消灭报销,从超级差规开始,用友BIP解决大型企业商旅费控核心难题
  4. [48] 用《六人行》的调调说话!
  5. Excel 鲜为人知的技巧
  6. 考研笔记之数据结构之线性表(严蔚敏版)
  7. 2019寒假作业3 编程总结
  8. Android开发基础——Kotlin:高阶函数
  9. 3dmax在多面体编辑中镜像(mirror)和对称(symmetry)的差别
  10. 28 - JavaScript 特效:scroll家族和缓动动画