isuca

isuca

0个粉丝

4

问答

0

专栏

2

资料

isuca  发布于  2017-04-27 15:39:47
采纳率 0%
4个问答
36758

海思35xx MPP构架和3798M UNF构架分析

     
本帖最后由 isuca 于 2017-12-25 14:30 编辑

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
[hide]附件:[/hide]


易百纳技术社区文件: 海思35XX MPP构架和3798 UNF构架分析 - 副本.pdf
下载
我来回答
回答470个
时间排序
认可量排序

isuca

0个粉丝

4

问答

0

专栏

2

资料

isuca 2017-04-27 15:51:36
认可0
积累几年,花了几周写出来的,看到说一下意见

zhuangweiye

0个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-27 16:04:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48844&ptid=14994]isuca 发表于 2017-4-27 15:51[/url]
积累几年,花了几周写出来的,看到说一下意见[/quote]

穷人看不到,多多分享吧

isuca

0个粉丝

4

问答

0

专栏

2

资料

isuca 2017-04-27 16:52:55
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48849&ptid=14994]zhuangweiye 发表于 2017-4-27 16:04[/url]
穷人看不到,多多分享吧[/quote]

相对你,我穷死了
再说,真的非常便宜了,知识没那么廉价

zhuangweiye

0个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-27 16:59:44
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48855&ptid=14994]isuca 发表于 2017-4-27 16:52[/url]
相对你,我穷死了
再说,真的非常便宜了,知识没那么廉价[/quote]

知识无价,多多分享吧

cfgrpg

0个粉丝

7

问答

0

专栏

1

资料

cfgrpg 2017-04-27 18:41:51
认可0
碉堡了
碉堡了
碉堡了
碉堡了

hisi_dev

0个粉丝

4

问答

0

专栏

0

资料

hisi_dev 2017-04-27 19:43:53
认可0
dddddddddddddd

fengwen_ye

0个粉丝

26

问答

0

专栏

0

资料

fengwen_ye 2017-04-27 20:23:09
认可0
看看能不能用到

9527

0个粉丝

3

问答

0

专栏

0

资料

9527 2017-04-28 09:50:06
认可0
正在学习HI3798,从HI3536转过来的,确实好多不一样,很困惑,学习学习,谢谢楼主

lyy111

0个粉丝

27

问答

0

专栏

1

资料

lyy111 2017-04-28 10:37:06
认可0
好东西,学习一下。

9527

0个粉丝

3

问答

0

专栏

0

资料

9527 2017-04-28 11:40:03
认可0
对于HIplayer模块,没有做点相关介绍呢,SDK中描述可以直接连接rstp流?

hi3519v101

0个粉丝

5

问答

0

专栏

0

资料

hi3519v101 2017-04-28 15:03:14
认可0
11111111111111111111111

yuhuofei

0个粉丝

4

问答

0

专栏

0

资料

yuhuofei 2017-04-28 15:43:31
认可0
vi 对sensor lvds raw data 16bit支不支持

china_gxl

0个粉丝

0

问答

0

专栏

0

资料

china_gxl 2017-04-28 21:39:51
认可0
好东西,学习一下。

isuca

0个粉丝

4

问答

0

专栏

2

资料

isuca 2017-04-29 12:09:53
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48900&ptid=14994]9527 发表于 2017-4-28 11:40[/url]
对于HIplayer模块,没有做点相关介绍呢,SDK中描述可以直接连接rstp流?[/quote]

一般都会使用自己的推流模块,各种定制,而不是用自带的

uclinux_2016

0个粉丝

10

问答

0

专栏

1

资料

uclinux_2016 2017-04-29 15:54:42
认可0
大作,期待啊

lubing521

3个粉丝

20

问答

0

专栏

11

资料

lubing521 2017-04-29 22:23:11
认可0
感谢如此无私的分享,谢谢。

tpu

0个粉丝

1

问答

0

专栏

0

资料

tpu 2017-05-02 10:18:24
认可0
看起来很不错

xjl_hi

0个粉丝

41

问答

0

专栏

0

资料

xjl_hi 2017-05-03 11:44:32
认可0
学习学习 楼主好人

blacktangel

0个粉丝

11

问答

0

专栏

0

资料

blacktangel 2017-05-03 15:50:48
认可0
UNF是什么 MPP用过

isuca

0个粉丝

4

问答

0

专栏

2

资料

isuca 2017-05-04 10:55:14
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49111&ptid=14994]blacktangel 发表于 2017-5-3 15:50[/url]
UNF是什么 MPP用过[/quote]

UNF是海思机顶盒底层构架,UNF和MPP海思是一个工作组完成的,后来分成两个小组。基本构架,实现原理差不多。但UNF大部分东西开源了,你能够看到底层源码,少数部分没有开源,总体来说比MPP开放得多

很多公司早就使用机顶盒方案如3798M开发NVR
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区