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 |
图片出自 Hi3518EV20X/Hi3516CV200经济型HD IP Camera Soc用户指南.pdf
图片出自 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;