Hi3518EV200 SDK 分析

本文转载自:https://blog.csdn.net/aggresss/article/details/102895215

感谢博主的归纳在总结。


声明:Hi3518EV200 SDK 资源信息来自与网络

Hi3518EV200 SDK 命名规则

abbr. complete spelling
V Version
R Release
C Change
SPC System Patch Cold

命名规则沿用标准华为 BVT 产品的版本命名方式,但是实际意义存在一点偏差,C代表了不同的内容载体

版本号 版本内容载体
Hi3518E_V200R001C01SPCxxx Linux + uclibc
Hi3518E_V200R001C02SPCxxx Linux + glibc
Hi3518E_V200R001C05SPCxxx LiteOS + uclibc

Hi3518EV200 SDK 发布记录

版本名称 版本号 编译日期 SDK 版本 u-boot 版本 内核版本 busybox 版本
Hi3518E V200R001C01SPC001 2015-08-25 1.0.0.1 2010.06 3.4.35 1.20.2
Hi3518E V200R001C01SPC010 2015-09-28 1.0.1.0 2010.06 3.4.35 1.20.2
Hi3518E V200R001C01SPC020 2015-12-28 1.0.2.0 2010.06 3.4.35 1.20.2
Hi3518E V200R001C01SPC030 2016-05-23 1.0.3.0 2010.06 3.4.35 1.20.2
Hi3518E V200R001C01SPC040 2016-11-25 1.0.4.0 2010.06 3.4.35 1.20.2
Hi3518E V200R001C01SPC050 2018-04-15 1.0.5.0 2010.06 4.9.37 1.26.2
Hi3518EV200/V201 规格
ARM926@550MHz;
1280x960@30fps or 1920x1080@15fps H.264 HP encoding;
Max.2M Pixel sensor input;
Digital WDR, Tone mapping;
64MB / 32MB integrated DDR.

Hi351x 系列芯片比较

芯片型号 规格
Hi3516DV300
Hi3516EV200
Hi3516CV500
Hi3516EV300
Hi3518EV200
Hi3516EV100
Hi3516CV300
Hi3516AV100
Hi3516DV100
Hi3516AV200
Hi3519V101

Hi3518EV200_schematic

图片出自 Hi3518EV20X/Hi3516CV200经济型HD IP Camera Soc用户指南.pdf

Hi3518EV200_logic

图片出自 Hi3518EV20X/Hi3516CV200经济型HD IP Camera Soc用户指南.pdf

SDK 中使用缩写索引

Abbreviations 缩略语 Full spelling 英文全名 Chinese explanation 中文解释
3A AF/AE/AWB 自动对焦/自动曝光/自动白平衡
ADEC Audio DECoding 音频解码
AENC Audio ENCoding 音频编码
AI Auto Iris Control 自动光圈控制
DDRC Double-Data Rate Controller DDR 控制器
FB Framebuffer 图像叠加层的模块
GUI Graphics User Interface 用户界面
LDC Lens Distortion Correction 镜头畸变校正
IPC Internet Protocol Camera 网络摄像机
ISP Image Signal Process 图像信号处理
ISR Interrupt Service Routines 中断服务处理程序
IVE Intelligent Video Engineering 智能加速引擎
IVS Intelligent Video Surveillance 比 IVE 更高层次的应用 API
LDC Lens Distortion Correction 镜头畸变校正
MMZ Media Memory Zone 媒体内存区域
MPP Media Processing Platform 媒体处理平台
OSD On Screen Display 屏幕显示
POR Power-On Reset 开机复位模块
RTC Real Time Clock 实时时钟
PTS Presentation Time Stamp 时间戳
ROI Region Of Interest 感兴趣区域
SDK Software Developer’s Kit 软件开发工具包
TDE Two Dimensional Engine 利用硬件为 OSD 和 GUI 提供快速的图形绘制功能
VCP Virtual COM Port 虚拟串口
VDEC Video DECoding 视频解码
VDA Video Detection Analysis 视频侦测分析
VEDU Video Encode Unit 视频编码单元
VENC Video ENCoding 视频编码
VI Video Input 视频输入
VO Video Output 视频输出
VPSS Video Process Sub-System 视频前处理单元
PC工具名称 工具说明
AQ_TOOL 音频质量调试工具
PQ_TOOL 图像质量调试工具
DEC_LIB 解码库
IVE_CLIB 智能加速引擎库
Hi_TOOL 烧录工具

SDK 目录文件信息

├── 00.hardware
│   ├── board
│   │   ├── document_cn
│   │   │   ├── Hi3518EV20X/Hi3516CV200 DMEB用户指南.pdf
│   │   │   ├── Hi3518EV20X/Hi3516CV200 硬件设计Checklist.doc
│   │   │   └── Hi3518EV20X/Hi3516CV200 硬件设计 用户指南.pdf
│   │   ├── Hi3516CV200DMEB_VER_A_BOM_CN.txt
│   │   ├── Hi3516CV200DMEB_VER_A_BOM_EN.txt
│   │   ├── HI3516CV200DMEB_VER_A_PCB.brd
│   │   ├── HI3516CV200DMEB_VER_A_PCB.pcb
│   │   ├── HI3516CV200DMEB_VER_A_SCH.DSN
│   │   ├── HI3516CV200DMEB_VER_A_SCH.pdf
│   │   ├── Hi3518EV20XDMEB_VER_A_BOM_CN.txt
│   │   ├── Hi3518EV20XDMEB_VER_A_BOM_EN.txt
│   │   ├── HI3518EV20XDMEB_VER_A_PCB.brd
│   │   ├── HI3518EV20XDMEB_VER_A_PCB.pcb
│   │   ├── HI3518EV20XDMEB_VER_A_SCH.DSN
│   │   ├── HI3518EV20XDMEB_VER_A_SCH.pdf
│   │   ├── Hi3518EV20XPERB_VER_A_BOM_CN.txt
│   │   ├── HI3518EV20XPERB_VER_A_BOM_EN.txt
│   │   ├── Hi3518EV20XPERB_VER_A_PCB.brd
│   │   ├── Hi3518EV20XPERB_VER_A_PCB.pcb
│   │   ├── HI3518EV20XPERB_VER_A_SCH.DSN
│   │   └── HI3518EV20XPERB_VER_A_SCH.pdf
│   └── chip
│       ├── document_cn
│       │   ├── Hi3516CV200 经济型HD IP Camera SoC产品简介.pdf
│       │   ├── Hi3518EV200经济型HD IP Camera SoC产品简介.pdf
│       │   ├── Hi3518EV201经济型HD IP Camera SoC产品简介.pdf
│       │   └── Hi3518EV20X/Hi3516CV200经济型HD IP Camera Soc用户指南.pdf
│       ├── hi3516cv200.bsdl
│       ├── hi3516cv200.ibs
│       ├── hi3518ev200.ibs
│       ├── hi3518ev201.ibs
│       └── hi3518ev20x.bsdl
├── 01.software
│   ├── board
│   │   ├── document_cn
│   │   │   ├── CIPHER API参考.pdf
│   │   │   ├── Hi3518EV20X/Hi3516CV200 SDK 安装以及升级使用说明.txt
│   │   │   ├── Hi3518EV20X/Hi3516CV200与Hi3516A ISP接口差异说明.pdf
│   │   │   ├── Hi3518EV20X/Hi3516CV200与Hi3516A MPI接口差异说明.pdf
│   │   │   ├── Hi3518EV20X/Hi3516CV200与Hi3516A开发包差异说明.pdf
│   │   │   ├── Hi35xxVx00 Linux 开发环境用户指南.pdf
│   │   │   ├── Hi35xxVx00 U-boot 移植应用开发指南.pdf
│   │   │   ├── HiFB API参考.pdf
│   │   │   ├── HiFB 开发指南.pdf
│   │   │   ├── HiISP FAQ.pdf
│   │   │   ├── HiISP 开发参考.pdf
│   │   │   ├── HiIVE API 参考.pdf
│   │   │   ├── HiIVS API参考.pdf
│   │   │   ├── HiMPP IPC V2.0 媒体处理软件开发参考.pdf
│   │   │   ├── HiMPP IPC 媒体处理软件 FAQ.pdf
│   │   │   ├── HiMPP MIPI使用指南.pdf
│   │   │   ├── HiMPP 开机画面使用指南.pdf
│   │   │   ├── ISP_3A开发指南.pdf
│   │   │   ├── RTC 应用指南.pdf
│   │   │   ├── TDE API参考.pdf
│   │   │   ├── 图形开发用户指南.pdf
│   │   │   ├── 外围设备驱动 操作指南.pdf
│   │   │   ├── 智能编码使用指导.pdf
│   │   │   └── 音频组件 API参考.pdf
│   │   ├── Hi3518E_SDK_V1.0.5.0
│   │   │   ├── package
│   │   │   ├── scripts
│   │   │   ├── sdk.cleanup
│   │   │   └── sdk.unpack
│   │   └── Hi3518E_SDK_V1.0.5.0.tgz
│   ├── Cyber Security Precautions for Secondary Development.pdf
│   ├── Open Source Software Notice.doc
│   ├── pc
│   │   ├── AQ_TOOL
│   │   │   ├── document_cn
│   │   │   ├── document_en
│   │   │   ├── Hi3518E_AQ_V1.0.5.0.tgz
│   │   │   └── HiAQTools_V5.0.0.0.zip
│   │   ├── DEC_LIB
│   │   │   ├── documents_cn
│   │   │   ├── documents_en
│   │   │   ├── Hi3511_VOICESDK_V1.0.0.5.rar
│   │   │   ├── Hi_H.264_DEC_LIB_V2.2.8.3.rar
│   │   │   └── Hi_MJPEG_DEC_LIB_V1.0.0.6.rar
│   │   ├── HiPQ & HiAQ Security Technology White Paper.pdf
│   │   ├── Hi_TOOl
│   │   │   ├── documents_cn
│   │   │   ├── documents_en
│   │   │   └── HiTool-BVT-5.0.15.zip
│   │   ├── IVE_CLIB
│   │   │   └── HiIVE_PC_V2.0.0.A.rar
│   │   ├── PQ_TOOL
│   │   │   ├── documents_cn
│   │   │   ├── documents_en
│   │   │   ├── Hi3518E_PQ_V1.0.5.0.tgz
│   │   │   ├── Hi3518E_Stream_V1.0.5.0.tgz
│   │   │   ├── ITTP_Stream_V1.4.0.zip
│   │   │   └── PQTools_V4.4.23.zip
│   │   ├── Thumbs.db
│   │   └── 图像质量&音频质量调试工具安全技术白皮书.pdf
│   └── 二次开发网络安全注意事项.pdf
├── 02.Only for Reference
│   ├── 01.Test Report
│   │   ├── documents_cn
│   │   │   ├── Hi3516CV200R001C0xSPC050性能测试报告.doc
│   │   │   ├── Hi3518EV200R001C0xSPC050性能测试报告.doc
│   │   │   ├── Hi3518EV201R001C0xSPC050性能测试报告.doc
│   │   │   ├── Hi3518E V20X/Hi3516C V200 Compatibility Test Report.xls
│   │   │   ├── Hi3518EV20X/Hi3516CV200 功耗测试报告 .pdf
│   │   │   ├── Thumbs.db
│   │   │   └── 硬件单元测试报告
│   ├── 02.software
│   │   ├── documents_cn
│   │   │   ├── 3DNR 参数配置说明.pdf
│   │   │   ├── BSP FAQ.doc
│   │   │   ├── Hi3518EV20X/Hi3516CV200 AF统计模块使用说明.pdf
│   │   │   ├── Hi3518EV20X/Hi3516CV200_sensor_list.xlsx
│   │   │   ├── Hi3518EV20X/Hi3516CV200 内存占用统计报告.xls
│   │   │   ├── Hi3518E V20X 穿戴式DV Flash+DDR小型化指南.pdf
│   │   │   ├── Hi3518E V20X 穿戴式DV_V2 使用指南.pdf
│   │   │   ├── Hi35xxVx00 系统小型化说明.pdf
│   │   │   ├── HiISP图像调优指南.pdf
│   │   │   ├── HiISP 颜色调优说明.pdf
│   │   │   ├── Hisilicon IP Camera 图像质量测试标准.pdf
│   │   │   ├── NAND SPL 移植说明.doc
│   │   │   ├── Sensor 对接 Checklist.xlsx
│   │   │   ├── Thumbs.db
│   │   │   ├── UBI 文件系统使用指南.pdf
│   │   │   ├── U-boot下自动升级使用手册和移植说明.pdf
│   │   │   ├── U-boot下自动升级功能设计说明.pdf
│   │   │   ├── WiFi 使用指南.pdf
│   │   │   ├── 自适应使用说明.pdf
│   │   │   ├── 芯片码率控制使用说明.pdf
│   │   │   └── 防抄板 使用指南.pdf
│   │   ├── hi3518e_mini_conf.rar
│   │   └── uboot_tools
│   │       └── Hi3518EV200-DMEB-uboot-DDR2-DDRC200MHz-64MB-16bit-CPU600MHz-AXI200MHz.xls
│   ├── 03.hardware
│   │   ├── documents_cn
│   │   │   ├── Hi3518EV20X/Hi3516CV200 DDR配置指导说明.pdf
│   │   │   ├── Hi3518EV20X/Hi3516CV200 音频优化方案.pdf
│   │   │   ├── Hi3518EV20X 穿戴式DV 硬件小型化设计用户指南.pdf
│   │   │   ├── HI3518EV2DVS VER_B_BOM_CN.xlsx
│   │   │   ├── HIMRSIPDEBUG VER_B_BOM_CN.xlsx
│   │   │   ├── IPC AI 免校正说明.pdf
│   │   │   └── IPC类卡片机音频硬件、结构设计以及器件选用说明.pdf
│   │   ├── ref_board
│   │   │   ├── Hi3518EV2DVS_VER_B_PCB.brd
│   │   │   ├── Hi3518EV2DVS_VER_B_SCH.DSN
│   │   │   ├── Hi3518EV2DVS_VER_B_SCH.pdf
│   │   │   ├── HiMRSIPDEBUG_VER_B_PCB.brd
│   │   │   ├── HiMRSIPDEBUG_VER_B_SCH.DSN
│   │   │   └── HiMRSIPDEBUG_VER_B_SCH.pdf
│   │   └── sensor
│   │       ├── 9M034
│   │       ├── AR0130
│   │       ├── AR0230
│   │       ├── IMX222
│   │       ├── MN34222
│   │       ├── OV2718
│   │       ├── OV9712
│   │       ├── OV9732
│   │       ├── OV9750
│   │       └── OV9752
│   ├── 04.other
│   │   ├── documents_cn
│   │   │   └── 音频基础调试方法.pdf
│   ├── Disclaimer.txt
│   └── 免责声明.txt
├── arm-hisiv510-linux.tgz
├── Hi3518E V20X/Hi3516C V200 R001C0xSPC050 Release Notes.doc
├── Hi3518EV20X/Hi3516CV200 R001C0xSPC050 版本描述文件.doc
├── Hi3518E V20X/Hi3516C V200R001 Deliverable List.xls
└── Hi3518EV20X/Hi3516CV200R001 交付件清单.xls

Hi3518E_SDK_Vx.x.x.x 目录结构如下:

    |-- sdk.cleanup                 # SDK清理脚本
    |-- sdk.unpack                  # SDK展开脚本
    |-- osdrv                       # 存放操作系统及相关驱动的目录
    |   |-- opensource              # opensource源代码
    |   |   |-- busybox             # busybox源代码
    |   |   |-- kernel              # linux内核patch
    |   |   |-- 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压缩包
    |   |-- rootfs_*.tgz            # rootfs压缩包
    |   `-- image_*                 # 可供FLASH烧写的映像文件,如内核、根文件系统
    |-- scripts                     # 存放shell脚本的目录
    |-- drv                         # drv目录
    |-- mpp                         # 存放媒体处理平台的目录
        |-- component               # 组件源代码 
        |-- extdrv                  # 板级外围驱动源代码
        |-- include                 # 对外头文件
        |-- ko                      # 内核模块
        |-- lib                     # release版本库以及音频库
        |-- Makefile.param          # mpp一些全局编译选项
        |-- tools                   # 媒体处理相关工具
        `-- sample                  # 样例源代码

SDK 编译步骤

U-Boot 编译命令

make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- hi3518ev200_config
make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-
make env ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-

在这里插入图片描述

在这里插入图片描述

SDK 中存在的坑


问题一,编译 U-Boot 时 make env 返回错误

make env ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-
make -C tools/env all MTD_VERSION= || exit 1
make[1]: Entering directory '/u-boot-2010.06/tools/env'
arm-hisiv300-linux-gcc -Wall -DUSE_HOSTCC -I/u-boot-2010.06/include crc32.c  fw_env.c  fw_env_main.c -o fw_printenv
In file included from /arm-hisiv300-linux/target/usr/include/mtd/mtd-abi.h:23:0,
                 from /arm-hisiv300-linux/target/usr/include/mtd/mtd-user.h:26,
                 from fw_env.c:43:
/u-boot-2010.06/include/linux/types.h:154:36: error: conflicting types for ‘uintmax_t’
 typedef u_int32_t                  uintmax_t;
In file included from /arm-hisiv300-linux/lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/include/stdint.h:9:0,
                 from /arm-hisiv300-linux/target/usr/include/mtd/mtd-user.h:23,
                 from fw_env.c:43:
/arm-hisiv300-linux/target/usr/include/stdint.h:143:32: note: previous declaration of ‘uintmax_t’ was here
 typedef unsigned long long int uintmax_t;
In file included from /arm-hisiv300-linux/target/usr/include/mtd/mtd-abi.h:23:0,
                 from /arm-hisiv300-linux/target/usr/include/mtd/mtd-user.h:26,
                 from fw_env.c:43:
/u-boot-2010.06/include/linux/types.h:155:36: error: conflicting types for ‘intmax_t’
 typedef int32_t                    intmax_t;
In file included from /arm-hisiv300-linux/lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/include/stdint.h:9:0,
                 from /arm-hisiv300-linux/target/usr/include/mtd/mtd-user.h:23,
                 from fw_env.c:43:
/arm-hisiv300-linux/target/usr/include/stdint.h:141:24: note: previous declaration of ‘intmax_t’ was here
 typedef long long int  intmax_t;
Makefile:38: recipe for target 'fw_printenv' failed
make[1]: *** [fw_printenv] Error 1
make[1]: Leaving directory '/u-boot-2010.06/tools/env'
Makefile:478: recipe for target 'env' failed
make: *** [env] Error 1

u-boot-2010.06/include/linux/types.h 中的定义修改成与工具链相同即可

typedef u_int32_t         uintmax_t;
typedef int32_t             intmax_t;

修改为:

typedef unsigned long long         uintmax_t;
typedef long long                  intmax_t;

参考文档:

  1. Hi3518E的地址内存空间分布
posted @ 2019-11-20 22:35  Acuity  阅读(456)  评论(0编辑  收藏  举报