概述
本文主要讲述使用海思3516芯片进行开发的总体框架
本文使用的环境为
- linux虚拟机:centos7
- pc:windows10
- hisi sdk:Hi3516EV200R001C01SPC010(linux内核)
为防止冲突这里将Hi3516EV200R001C01SPC010文件夹下的文件统称为sdk windows包,将Hi3516EV200_SDK_V1.0.1.0.tgz解压后的文件统称为sdk linux包。开发环境的链接关系
开发环境的具体接线如下图

其中网络口用于链接上位机进行相关软件的调试,串口作为命令终端,进行相关指令的输入。为方便环境搭建,这里建议不要将网线直接将海思端与pc直接相连,通过路由器进行交换,这样方便虚拟机和主机的网络配置。
其中linux虚拟机用于交叉编译工具链的配置,和相关软件、系统的编译工作。
其中开发使用的相关协议如下图

UART与ssh作为命令终端进行指令的输入输出,这里使用samba协议进行虚拟机与windows pc间的文件传输。在虚拟机端配置nfs协议进行与海思端的文件通信。
sdk windows总体概述
这里介绍的海思平台为linux内核的嵌入式环境。其中,相关文件分为两类,开发所需的相关软件,及相关手册
软件包结构及说明
其中软件结构如下
├─00.hardware -->硬件开发相关
│ ├─board
│ │ ├─Hi3516EV300
│ │ │ allegro.jrl
│ │ │ allegro.jrl,1
│ │ │ HI3516EV300DMEB_VER_E_BOM_CN.txt
│ │ │ HI3516EV300DMEB_VER_E_BOM_EN.txt
│ │ │ HI3516EV300DMEB_VER_E_PCB.asc
│ │ │ HI3516EV300DMEB_VER_E_PCB.brd
│ │ │ HI3516EV300DMEB_VER_E_PCB.pcb
│ │ │ HI3516EV300DMEB_VER_E_SCH.DSN
│ │ │ HI3516EV300DMEB_VER_E_SCH.pdf
│ │ │ readme_CN.txt
│ │ │ readme_EN.txt
│ └─chip
│ ├─Hi3516EV300
│ │ Hi3516EV300.bsdl
│ │ Hi3516EV300.ibs
│
├─01.software -->软件开发相关
│ ├─board
│ │ Hi3516EV200_SDK_V1.0.1.0.tgz --> sdk linux包 主要的开发工具包。重要!
│ │
│ └─pc
│ ├─AQTools
│ │ Hi3516EV200_AQ_V1.0.1.0.tgz
│ │ HiAQTools_V5.2.0.zip
│ │
│ ├─DEC_LIB
│ │ Hi_H.264_DEC_LIB_V2.2.8.4.rar
│ │ Hi_H.265_DEC_LIB_V2.0.1.6.rar
│ │ Hi_MJPEG_DEC_LIB_V1.0.0.6.rar
│ │
│ ├─HiPro-usb
│ │ HiPro-usb_cn.rar
│ │ HiPro-usb_en.rar
│ │
│ ├─HiTool -->uboot和其他系统的烧写工具
│ │ HiTool-BVT-5.0.61.zip
│ │
│ ├─IVE -->ive 在PC端开发仿真工具
│ │ HiIVE_PC_V2.1.0.8_64bit_sec.tgz
│ │
│ ├─PQTools -->isp 调试工具
│ │ Hi3516EV200_ext_api_V1.0.1.0.tgz
│ │ Hi3516EV200_PQ_V1.0.1.0.tgz
│ │ HiPQTools_V5.17.0.zip
│ │ ITTP_Stream_V5.1.1.zip
│ │
│ └─usb_tools -->usb配置脚本
│ │ usb_tools_linux.rar
│
└─02.only for reference
├─hardware
│ │
│ ├─Hi3516EV300
│ │ HIBVTIMX335MIREFB_VER_A_PCB.brd
│ │ HIBVTIMX335MIREFB_VER_A_SCH.pdf
│ │ HIBVTSC4236MIREFB_VER_A_PCB.brd
│ │ HIBVTSC4236MIREFB_VER_A_SCH.pdf
│
└─svb
Svb Detection method_CN.txt
Svb Detection method_EN.txt
svb_check
Hi3516EV200_SDK_V1.0.1.0.tgz 需要拷贝到linux虚拟机中进行解压使用
配套技术文档及说明
在ReleaseDoc文件夹中主要是各个模块的说明文件文件目录如下
├─00.hardware
│ ├─board
│ │ ├─Hi3516EV300
│ │ │ Hi3516EV300 Demo 单板用户指南.pdf
│ │ │ HI3516EV300 LCD输出说明.xlsx
│ │ │ Hi3516EV300 硬件设计 Checklist.doc
│ │ │ Hi3516EV300 硬件设计用户指南.pdf
│ │
│ └─chip
│ ├─Hi3516EV300
│ │ Hi3516EV300 eMMC SPI_Flash SD卡 SDIO WiFi复用场景说明.xlsx
│ │ Hi3516EV300 专业型HD IP Camera SoC产品简介.pdf
│ │ Hi3516EV300 专业型HD IP Camera SoC用户指南.pdf ->对于裸板端的寄存器说明
│ │ Hi3516EV300_PINOUT_CN.xlsx ->引脚复用部分的详细说明
│
├─01.software
│ │ HiMPP SDK 二次开发网络安全注意事项.pdf
│ │ 图像质量调试工具使用指南.pdf
│ │
│ ├─board
│ │ │ Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516DV200 安全启动使用指南.pdf
│ │ │ Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516DV200 Linux SDK 安装以及升级使用说明.pdf ->sdk入门文档建议先读!linux内核配置和如何进行板端升级需要看sdk (linux)下osdrv文件夹中的readme.txt
│ │ │ Hi3516EV200与Hi3516EV100 开发包差异说明.pdf
│ │ │ Hi3516EV300与Hi3516DV200 开发包差异说明.pdf
│ │ │ Hi3516EV300与Hi3516EV200 开发包差异说明.pdf
│ │ │ Hi3518EV300与Hi3516EV200 开发包差异说明.pdf
│ │ │
│ │ ├─ISP
│ │ │ Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516DV200与Hi3516EV100╱Hi3516CV300 ISP算法差异说明.pdf
│ │ │ HiISP FAQ.pdf
│ │ │ HiISP 开发参考.pdf
│ │ │
│ │ ├─IVE
│ │ │ HiIVE API 参考.pdf
│ │ │ HiIVP API参考.pdf
│ │ │ HiIVS API参考.pdf
│ │ │
│ │ ├─MPP
│ │ │ CIPHER API 参考.pdf
│ │ │ HiFB API参考.pdf
│ │ │ HiFB 开发指南.pdf
│ │ │ HiMPP V4.0 媒体处理软件 FAQ.pdf
│ │ │ HiMPP V4.0 媒体处理软件开发参考.pdf ->对于海思的多媒体平台应用的主要开发文档,其中内部模块的相关api参考对应的api文档如《HiIVE API 参考.pdf 》
│ │ │ MIPI使用指南.pdf
│ │ │ RTC 应用指南.pdf
│ │ │ TDE API参考.pdf
│ │ │ 图形开发用户指南.pdf
│ │ │ 开机声音使用指南.pdf
│ │ │ 开机画面使用指南.pdf
│ │ │ 智能编码 使用指导.pdf
│ │ │ 音频组件 API参考.pdf
│ │ │
│ │ └─OSDRV ->针对uboot kernel 文件系统的编译移植文档
│ │ Hi3516EV200╱Hi3516EV300╱HI3518EV300╱Hi3516D V200 U-boot 移植应用开发指南.pdf
│ │ Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516DV200 开发环境用户指南.pdf
│ │ 外围设备驱动 操作指南.pdf
│ │
│ └─pc ->相关上位机配套软件的使用说明
│ ├─AQ Tool
│ │ 工具软件 网络安全二次开发注意事项.pdf
│ │
│ ├─DEC_LIB
│ │ H.264 PC解码库软件 API参考.pdf
│ │ H.265 PC解码库软件 API参考.pdf
│ │ MJPEG PC解码库软件API参考.pdf
│ │ 音频质量调试工具使用指南.pdf
│ │
│ ├─HiPro_USB
│ │ HiIVE工具使用指南.pdf
│ │ Thumbs.db
│ │
│ ├─HiTool
│ │ HiBurn 工具使用指南.pdf
│ │ 量产烧写使用指南.pdf
│ │
│ └─PQ Tool
│ HiTool工具平台 使用指南.pdf
│
└─02.only for reference
│ 免责声明.txt
│
├─hardware
│ Hi3516DV200 DDR DQ窗口查看方法及结果分析.pdf
│ Hi3516DV200 DDR3 参数配置方法.pdf
│ Hi3516EV200 SVB电压和寄存器对应关系.pdf
│ Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516D V200 高速信号测试指导.pdf
│ Hi3516EV300╱Hi3516DV200 SVB电压和寄存器对应关系.pdf
│ Hi3518EV300 SVB电压和寄存器对应关系.pdf
│ Hi35xxVxx 各IP╱IO涉硬参数 调试指南.pdf
│ Hi35xxVxx 音频串接电阻方案.pdf
│ Hi35xxVxxx 音频优化方案.pdf
│ IPC Auto IRIS 免校正说明.pdf
│ 音频硬件、结构设计以及器件选用说明.pdf
│
├─software
│ BSP FAQ.doc
│ Hi3516EV200 Sensor support list.xlsx
│ Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516DV200 3DNR参数配置说明.pdf
│ Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516DV200 Memory Statistics.xls
│ Hi3516EV200╱Hi3518EV300 系统小型化说明.pdf
│ Hi3516EV300 Sensor support list.xlsx
│ Hi3518EV300 Sensor support list.xlsx
│ Hi3518EV300 U-boot表格SVB部分修改指导.pdf
│ HiISP 图像调优指南.pdf
│ HiISP 颜色调优说明.pdf
│ Hisilicon IP Camera 图像质量测试标准.pdf
│ Sensor 调试指南.pdf
│ UBI 文件系统使用指南.pdf
│ WiFi 使用指南.pdf
│ 基于Hifmcv100控制器的Flash移植指南.pdf
│ 屏幕对接 使用指南.pdf
│ 自适应使用说明.pdf
│ 芯片码率控制使用说明.pdf
│ 裸烧及非裸烧升级 使用手册.pdf
│
└─test report
│ Hi3516EV200R001C01SPC010 性能测试报告-Hi3516EV300.doc
│ Hi3516EV300 功耗测试报告.pdf
│ Hi35xxVxxxR001 Compatibility Test Report.xls
│
└─硬件单元测试报告
│
├─Hi3516EV300
│ HI3516EV300 FEPHY Test Report.pdf
│ HI3516EV300 USB2.0 Test Report.pdf
│ HI3516EV300 电源纹波噪声测试报告.xlsx
海思多媒体系统总体概述
该部分可以参考 《HiMPP V4.0 媒体处理软件开发参考.pdf》这里摘录文档中系统概述中的部分章节。
概述
海思提供的媒体处理软件平台(Media Process Platform,简称MPP),可支持应用软件快速
开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供
MPI(MPP Program Interface)接口完成相应功能。该平台支持应用软件快速开发以下
功能:输入视频捕获、H.265/H.264/JPEG编码、H.265/H.264/JPEG解码、视频输出显
示、视频图像前处理(包括去噪、增强、锐化)、图像拼接、图像几何矫正、智能、音
频捕获及输出、音频编解码等功能。系统架构
MPP 平台支持的典型的系统主要分为以下层次:
- 硬件层
硬件层由Hi35xx 芯片加上必要的外围器件构成。外围器件包括Flash、DDR(Double Data-Rate)、视频Sensor或AD、音频AD 等。- 操作系统层
基于 Linux 或Huawei LiteOS的OS系统。- 操作系统适配层
提供操作系统系统调用基础函数,屏蔽操作系统差异,支持媒体处理平台运行在
不同的操作系统上,或相同操作系统不同版本。- 媒体处理平台
基于操作系统适配层,控制芯片完成相应的媒体处理功能。它对应用层屏蔽了硬
件处理细节,并为应用层提供API接口完成相应功能。- 其他驱动
除媒体处理平台外,海思为Hi35xx 芯片的其他相关硬件处理单元提供了相应的驱动,
包括CIPHER、RTC 等驱动。- 应用层
基于海思媒体处理平台及其他驱动,由用户开发的应用软件系统。

媒体处理平台的相关模块逻辑如图

sdk linux 软件开发工具包总述
该部分针对Hi3516EV200_SDK_V1.0.1.0.tgz的解压文件的总述
该部分详情请参阅ReleaseDoc\zh\01.software\board中《Hi3516EV200╱Hi3516EV300╱Hi3518EV300╱Hi3516DV200 Linux SDK 安装以及升级使用说明.pdf》
首先将Hi3516EV200_SDK_V1.0.1.0.tgz放置在linux环境中进行解压,使用压缩包中sdk.unpack进行sdk展开,并在展开后的对应文件夹中找到交叉编译工具链进行安装,至此创建了基本工作环境。(如报错根据提示安装相应的模块再次尝试编译)
如有需要可以按照相应流程进行uboot和kernel的编译开发工作
如需要进行应用层开发则相应文件在mpp文件夹中进行

Comments NOTHING