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 heretypedef 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 heretypedef 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;
参考文档:
- Hi3518E的地址内存空间分布
Hi3518EV200 SDK 分析相关推荐
- 有米iOS恶意SDK分析
360NirvanTeam · 2015/10/29 10:10 0x00 前言 有米广告平台为业界领先的移动信息服务提供商优蜜科技™所有,总部和研发中心设在广州,在北京设立分支机构.有米广告拥有核心 ...
- android多个广告sdk回调处理,Android逆向 今日头条的广告SDK分析
今日头条的广告SDK激励视频广告下载.安装分析 try { Method method = null; Class> a = getClassLoader().loadClass("c ...
- 安卓 App 库存系统开发 终端设备 SDK 分析
安卓 App 库存系统 客户初步打算使用 南方鸿志 这款手持超高频扫描器 http://www.nanfang001.com/Product/7813605116.html 重点留意 安卓系统,产品选 ...
- java 广告sdk开发_supersonicads广告sdk逆向分析以及无源码debug java
0x00 背景 最近看到一个小游戏,但是它使用了supersonicads的sdk,广告极其多,非常烦,所以我就逆向了一下它,顺便分析了一下supersonicads的工作原理. 0x01 super ...
- iPad 开发技术与案例分析
文 / 柯博文 2010年最热门的电子产品是什么?目前记录看来就是第一天销售30万台的Apple iPad.因为太超过预期的热卖了,让苹果电脑临时决定将出货到其他国家的时间延后一到五个月.这个商品到底 ...
- 什么是SDK,它是怎样威胁我们的隐私?
依据<个人信息保护法><网络安全法><电信条例><电信和互联网用户个人信息保护规定>等法律法规,工业和信息化部近期组织第三方检测机构对移动互联网应用程序 ...
- Hi3518EV200的开发环境搭建,Hi3518E_V200R001C01SPC030
搭建开发环境 1. 准备ubuntu 16.04 还是windows下载东西快,今天网络差.只好在win下用迅雷下载一些包. 1.1 下载etcher 1.2 准备ubuntu16.04 iso 1. ...
- h5 神策埋点_神策Android全埋点方案分析
神策Android全埋点方案 原理简单分析: Activity生命周期通过监听Application.ActivityLifecycleCallbacks,fragment的生命周期 及一些点击事件则 ...
- MQTT再学习 -- 安装MQTT客户端及测试
上一篇文章我们已经讲了 MQTT 服务器的搭建,参看:MQTT再学习 -- 搭建MQTT服务器及测试 接下来我们看一下 MQTT 客户端. 一.客户端下载 首先,客户端也有多种,我们需要面临选择了. ...
- Android Native crash 处理案例分享
简介:Android Native crash 处理案例分享 1. 背景 目前 mPaas[1] Android使用Crash SDK对闪退进行的处理,CrashSDK 是 Android 平台上一款 ...
最新文章
- 使用Pandas的rolling函数计算滚动平均值(rolling average with Pandas rolling)、seaborn使用lineplot函数可视化时间序列数据、并添加滚动平均值
- call dword prt[eax]
- 深入理解 Java 虚拟机 学习笔记
- 定义交货输出条件类型(Output Types)
- 逆clarke变换_是clarke变换还是clark
- JavaFX:太空侵略者在175 LOC以下
- 跳转指令微型计算机,哪种类型的汇编程序跳转指令最有用?
- 用 Go 编写一个简单的 WebSocket 推送服务
- Sublime text3 代码格式化插件vue
- Android 中View仅仅能接收到ACTION_DOWN无法接收ACTION_MOVE和ACTION_UP解决的方法
- PreferenceActivity使用介绍
- 使用ps 批处理图片(gif 转 png)
- 计算机对舞蹈影响,计算机技术在舞蹈教学中的应用
- 【Nodejs】使用http.request批量下载MP3,发现网络文件大于1000K时下载文件为0K
- What’s the value created by bitcoin?
- iphone描述文件
- 【网盘项目日志】Seafile 源码部署和安装命令
- 后端技术精选 - 收藏集 - 掘金
- 计算机高逼格术语,你能看懂这些高逼格专业词汇吗?
- java报销系统的参考文献_java毕业设计_springboot框架的企业报销管理与实现