请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 200|回复: 1

[原创] 海思35xx MPP构架和3798M UNF构架分析

[复制链接]

9

主题

10

帖子

45

积分

新手上路

Rank: 1

积分
45
发表于 2018-12-4 10:34:58 | 显示全部楼层 |阅读模式
UNF是海思机顶盒底层构架,UNF和MPP海思是一个工作组完成的,后来分成两个小组。基本构架,实现原理差不多。但UNF大部分东西开源了,你能够看到底层源码,少数部分没有开源,总体来说比MPP开放得多

很多公司早就使用机顶盒方案如3798M开发NVR

目录
前言:        4
1:Hi35xx系列芯片MPP构架        5
1.1 概述        5
1.2 整体软硬件构架        5
1.3 海思媒体处理平台架构        6
1.4 MMZ与模块绑定        8
1.5 HiMPP 支持的绑定关系        9
1.6 函数约定说明        10
1.7 MPP优缺点        11
1.7.1 MPP优点        11
1.7.2 MPP缺点        11
2: MPP和UNF对比        11
3:3798芯片UNF处理构架        12
3.1 应用架构        12
3.2 3798SDK 概览(功能介绍)        13
3.3 3798内存管理        13
3.3.1 Mmz内存        13
3.3.2 解码vid内存        14
3.4 3798模块        14
DEMUX:        14
VI:        14
VDEC        15
SYNC:        15
DISPLAY:显示设备        15
WINDOW:显示通道        15
SO( Subtitle Output)        16
PDM        17
3.5 3798和NVR模块使用方面区别:        20
4: 3798代码祥看        20
4.1 分析方法        20
4.1.1:查看代码,静态分析应用层,驱动层实现方法        20
4.1.2:图示静态分析函数调用关系        21
4.1.3:图示动态分析函数调用关系:库函数,系统调用,内核调用        21
4.2 基础模块:hi_media hi_mmz hi_common        21
Common        21
4.2.1 基本通用模块应用层接口common/api        22
4.2.2 基本通用模块驱动接口common/dev        22
4.2.3 业务模块应用层通用组件source/component        30
4.3 海思专用组件        30
4.3.1 海思MSP模块应用层接口source/msp/api        30
4.3.2 海思MSP模块驱动层接口source/msp/drv/        33
VENC        33
avplay        34
avplay初始化分析        34
IOCTL实现分析 基于avplay        35
avplay 多个实例如何找到对应实例        36
VPSS        36
VDEC        38
Avplay解码ES流过程        38
IR        39
4.4 Sample_mosaic分析        42
应用层调用        42
系统调用        43
5:小结:        44
5.1 UNF相对标准内核模块区别        44
5.1.1 Proc读写调试。        44
5.1.2 内核空间往应用空间写文件        44
5.1.3Log管理        45
5.1.4内存映射        45
5.2代码分析方法        45
5.2.1 查看代码,静态分析应用层,驱动层实现方法        45
5.2.2 图示静态分析函数调用关系.        45
5.2.3 图示动态分析函数调用关系:库函数,系统调用,内核调用        45
参考文档:        46


 
前言:
        本文通过分析海思文档和代码,把海思SDK的MPI和UNF构架大概实现思想和构架进行了简略的分析。着重分析了内存管理,底层功能如何实现。
        前面章节简要分析了NVR芯片MPI构架及其内存管理机制,后面着重详细分析了3798M底层模块api和drv实现的细节过程及其方法流程。

        本文前面简略分析了DVR,MPI构架的大体实现机制。后面就具体分析3798M UNF构架的实现。
本文不光分析了UNF构架,还使用了很多工具,辅助分析代码。这里从三个层面分析了UNF的实现。
1: 应用层,驱动层的实现框架,使用source insight查看代码并着重分析了avplay等几个模块。
2:静态分析函数调用。使用cflow,dot工具生成调用关系图
3:动态追踪运行过程。Ltrace, strace, valgrind分析函数调用,perf动态分析内核调用。

附件回复可见
海思35XX MPP构架和3798 UNF构架分析 - 副本.pdf
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2019-7-31 08:53:20 | 显示全部楼层
dddddddddeeeeee
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|知扬开源技术论坛

GMT+8, 2019-12-15 03:36 , Processed in 0.198897 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表