HiDebugger

工具使用指南

 

 

文档版本

05

发布日期

2015-04-23

 

 

 


 





版权所有 © 深圳市海思半导体有限公司2015。保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

 

商标声明

、海思和其他海思商标均为深圳市海思半导体有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

 

注意

您购买的产品、服务或特性等应受海思公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,海思公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

 

 

 

 

 

 

 

 

 

 

 

 

深圳市海思半导体有限公司

地址:

深圳市龙岗区坂田华为基地华为总部     邮编:518129

网址:

http://www.hisilicon.com

客户服务邮箱:

support@hisilicon.com

 

 


 

概述

本文档主要介绍HiDebugger工具的使用方法,适用于分类抓取调试信息,Proc信息的获取及显示,录制码流的场景。

产品版本

与本文档相对应的产品版本如下。

产品名称

产品版本

Hi3716C

V2XX

Hi3719C

V1XX

Hi3719M

V1XX

Hi3718C

V1XX

Hi3718M

V1XX

Hi3716M

V4XX

Hi3716M

V31X

Hi3798M

V100

Hi3796M

V100

Hi3110E

V5XX

Hi3798C

V2XX

 

读者对象

本文档(本指南)主要适用于以下工程师:

l   技术支持工程师

l   软件开发工程师

作者信息

章节号

章节名称

作者信息

全文

全文

Y00250933

 

修订记录

修订记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。

修订日期

版本

修订说明

2013-12-09

00B01

1次临时发布。

2014-05-23

01

修改2.1.3章节。

2014-09-22

02

增加支持Hi3716MV310

2014-10-17

03

增加第三章节FAQ新增支持Hi3796M V100芯片。

2015-03-10

04

新增支持Hi3110E V500芯片。

2015-04-23

05

新增支持Hi3798CV200Hi3716MV420/410芯片。


 

  ... iii

1   ... 1-1

1.1 工具概述... 1-1

1.2 环境准备说明... 1-1

2 界面及功能说明... 2-1

2.1 DebugInfo界面及功能说明... 2-1

2.1.1 分类抓取调试信息... 2-1

2.1.2 搜索功能... 2-5

2.1.3 手动保存与自动保存功能... 2-6

2.2 ProInfo菜单及功能说明... 2-7

2.2.1 Proc信息获取与显示... 2-7

2.2.2 设置proc信息抓取周期... 2-8

2.2.3 录制码流前期设置... 2-9

2.2.4 码流种类介绍... 2-13

2.2.5 定长录制功能介绍... 2-24

2.2.6 循环录制功能介绍... 2-26

3 FAQ.. 3-1

3.1 设置/mnt/sdcard目录作为码流保存路径时,录制的码流出现卡顿及音视频不同步的现象... 3-1

 


插图目录

1-1 选择HiDebugger主界面... 1-2

1-2 创建Telnet连接... 1-2

2-1 打开HiDebugger后显示DebugInfo界面... 2-1

2-2 点击右侧开始按钮,左侧Level Setting界面刷新... 2-2

2-3 设置调试级别... 2-2

2-4 设置需要抓取的模块... 2-3

2-5 显示打印信息... 2-4

2-6 点击停止后界面停止刷新... 2-5

2-7 按照搜索框中条件进行搜索... 2-6

2-8 界面显示当前保存条数... 2-7

2-9 ProcInfo界面proc文件树... 2-7

2-10 开始抓取proc信息... 2-8

2-11 设置抓取周期... 2-9

2-12 录制码流功能界面... 2-9

2-13 设置保存码流路径... 2-10

2-14 选取对应的avplay. 2-11

2-15 经过DEMUX的码流... 2-12

2-16 直接注入avplay的码流... 2-12

2-17 经过HiPlayer的码流... 2-13

2-18 DEMUX模块输入的全码流TS流录制... 2-14

2-19 DEMUX模块输出TS录制... 2-14

2-20 DEMUX模块输出的ES码流录制... 2-15

2-21 HIPLAY模块输入FILE录制... 2-16

2-22 VDEC模块的输入ES码流录制... 2-17

2-23 VDEC模块的输出YUV码流录制... 2-17

2-24 VPSS模块的输入YUV码流录制... 2-18

2-25 右键菜单设置Prot ID.. 2-18

2-26 设置需要录制的port 2-19

2-27 右键菜单设置Window ID.. 2-19

2-28 置需要录制的windowID.. 2-20

2-29 DISP1模块的输出CAST录制... 2-20

2-30 ADEC模块输入ES流录制... 2-21

2-31 ADEC模块输出PCM流录制... 2-21

2-32 右键菜单设置TrackID.. 2-22

2-33 设置需要录制的track. 2-22

2-34 TRACK模块输出PCM流录制... 2-23

2-35 右键菜单设置SoundID.. 2-23

2-36 设置需要录制的soundID.. 2-24

2-37 SOUND模块输出PCM流录制... 2-24

2-38 右键菜单... 2-25

2-39 设置录制时长... 2-25

2-40 右键菜单... 2-26

2-41 设置循环录制次数... 2-26

2-42 已设置定制录制与循环录制... 2-27

 


1  

1.1 工具概述

Hidebugger工具是用于抓取日志与录制码流的,主要功能是:

l   调试信息分类获取及显示

l   Proc信息获取及显示

l   录制码流

1.2 环境准备说明

HiDebugger工具使用的环境准备如下:

                                步骤 1     把位于SDK发布包中的HiTool-STB-X.X.X.zip(路径:$SDK_DIR/ tools/windows/HiTool),拷贝到PC上(PC要求安装Win7 XP操作系统)的某个本地硬盘。

请预先安装的jre1.6(jre-6u1-windows-i586-p),否则HiTool可能无法运行。链接如下:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html

                                步骤 2     解压HiTool-STB-X.X.X.zip,点击HiTool.exe

                                步骤 3     配置单板IP地址

                                步骤 4     运行需要调试的业务。

                                步骤 5     选择芯片,例如Hi3716CV200,点击HiDebugger,如1-1所示。

图1-1 选择HiDebugger主界面

 

                                步骤 6     HiTool工具中,点击连接管理器按钮,创建Telnet连接,并配置IP为单板IP地址,再点击连接按钮建立连接,如1-2所示。

图1-2 创建Telnet连接

 

建立连接后,工具会自动启动根路径下的msp_debug,在断开Telnet连接时,工具会自动停止msp_debug

如果单板镜像为Android镜像,请使用命令busybox telnetd -l /system/bin/sh打开Busybox Telnet

----结束

 

 


2 界面及功能说明

2.1 DebugInfo界面及功能说明

2.1.1 分类抓取调试信息

具体操作步骤如下:

                                步骤 1     打开HiDebugger工具时默认显示此DebugInfo界面,如2-1所示。

图2-1 打开HiDebugger后显示DebugInfo界面

 

                                步骤 2     点击HiDebugger界面右侧的开始按钮,左侧模块界面(Level Setting)刷新,如2-2所示。

图2-2 点击右侧开始按钮,左侧Level Setting界面刷新

 

                                步骤 3     点击“select Debug Level:”后的单选框,设置调试级别,可选调试级别有:FATALERRORWARNINFODEBUG,此5种调试级别依次代表日志的级别为:致命信息,错误信息,警告信息,所有信息,调试信息,如2-3所示。

图2-3 设置调试级别

 

                                步骤 4     设置需要抓取日志的模块,可以仅选择需要抓取的模块,如2-4所示选中了所有模块。

图2-4 设置需要抓取的模块

 

如:设置调试级别为WARN,设置抓取所有模块,界面开始显示抓取的日志信息,如2-5所示。

图2-5 显示打印信息

 

                                步骤 5     点击右上角停止按钮,停止调试信息的抓取,如2-6所示

图2-6 点击停止后界面停止刷新

 

                                步骤 6     点击右上角停止清除按钮,可以清除界面上的所有日志信息。

----结束

2.1.2 搜索功能

具体操作步骤如下:

在左下角搜索框中输入需要搜索的字段,点击回车或者搜索按钮,如2-7所示。

图2-7 按照搜索框中条件进行搜索

 

2.1.3 手动保存与自动保存功能

l   手动保存

点击右上角保存按钮,可以手动指定路径,设置路径完成后,界面上打印的日志将存入到用户所设置的文件中。

l   自动保存

每次点击开始按钮,日志将会开始自动保存到hitool /logs/HiDebugger目录下的Hidebugger.log文件中,供用户查看。关闭HiDebugger工具重新打开后,Hidebugger.log文件中的内容将会清空,重新开始保存当前运行过程中抓取的日志。界面左下角会提示当前已有多少条日志保存到文件中(每10000行日志刷新

一次提示),2-8所示。

图2-8 界面显示当前保存条数

 

2.2 ProcInfo菜单及功能说明

2.2.1 Proc信息获取与显示

此功能主要用于循环的抓取板端Proc下的文件信息并显示。

具体操作步骤如下:

                                步骤 1     选中ProcInfo界面,展开proc文件系统树,如2-9所示。

图2-9 ProcInfo界面proc文件树

 

                                步骤 2     选中需要录制proc信息的文件,并点击右上角开始按钮,开始抓取,如2-10所示。

图2-10 开始抓取proc信息

 

----结束

2.2.2 设置proc信息抓取周期

设置抓取proc信息的周期,默认为0ms(毫秒),设置后在抓取信息时会根据设置的抓取周期间隔此时间段后再次抓取。

点击HiDebugger视图右上角设置抓取proc信息周期按钮,弹出如2-11所示界面。

图2-11 设置抓取周期

 

2.2.3 录制码流前期设置

具体操作步骤如下:

                                步骤 1     点击HiDebugger视图中右上角的录制码按钮,打开录制码流界面,如2-12所示。

图2-12 录制码流功能界面

 

                                步骤 2     点击Browse按钮,设置保存码流路径,如2-13所示。

图2-13 设置保存码流路径

 

 

存储介质对码流录制功能的影响:

l  若设置的保存码流的路径存储空间不足,则可能导致码流录制不完整。

l  录制码流的过程,可能会受到网络环境以及读写速度的影响,导致码流录制不完整。

综上所述,建议用户优先选择网络映射路径或挂载移动硬盘等方式用于存储码流。

                                步骤 3     点击单选框,设置需要录制的avplay,如2-14所示。

图2-14 选取对应的avplay

 

 

单板上要启动播放器,如果没有启动,就没有avplay的实例选择了。

选择avplay后,Recording stream界面刷新,根据avplay类型得到不同的码流图,共有两类码流类型:

l   经过DEMUX的码流,如2-15所示

l   直接注入Avplay的码流,如2-16所示。

l   经过HiPlayer的码流,如2-17所示

图2-15 经过DEMUX的码流

 

图2-16 直接注入avplay的码流

 

图2-17 经过HiPlayer的码流

 

----结束

2.2.4 码流种类介绍

现支持9个模块的共14个输入输出码流的抓取,以下分别介绍每一种码流的录制方式

l   DEMUX模块输入的全码流TS流录制

l   DEMUX模块输出TS流录制

l   DEMUX模块输出的ES(包括视频ES,音频ES)码流录制

l   HIPLAY模块输入FILE录制

l   VDEC模块的输入ES码流录制

l   VDEC模块的输出YUV录制

l   VPSS模块的输入YUV录制

l   VPSS模块的输出YUV录制

l   WINDOW模块的输出YUV录制

l   DISP1模块的输出CAST录制

l   ADEC模块输入ES流录制

l   ADEC模块输出PCM流录制

l   TRACK模块输出PCM流录制

l   SOUND模块输出PCM流录制

DEMUX模块输入的全码流TS流录制

可以录制该demux绑定的某个端口的所有TS点击按下demux模块前方的“TS”按钮则该码流开始录制,再次点击则停止该码流录制,其中未录制时码流按钮为,正在录制码流时码流按钮变为,如2-18所示。

图2-18 DEMUX模块输入的全码流TS流录制

 

TS流保存到dmx_allts_x.ts中,其中x如果是tuner端口则从0开始,每保存一次加1RAM端口则从128开始,每保存一次x不会变,具体是什么端口可用demux_port命令查看。

支持右键菜单选中定长录制和循环录制。

DEMUX模块输出TS录制

点击按下demux模块下方的“TS”按钮,则该码流开始录制,再次点击则停止该码流录制。其中未录制时码流按钮为,正在录制码流时码流按钮变为,如2-19所示。

图2-19 DEMUX模块输出TS录制

 

TS流保存到dmx_rects_x.ts中,x0开始,每保存一次加1

支持右键菜单选中定长录制和循环录制。

 

demux模块的输入TS和输出TS不能同时录制。

DEMUX模块输出的ES(包括视频ES,音频ES)码流录制。

点击按下demux模块前的“ES”按钮,则该码流开始录制,再次点击则停止该码流录制。其中未录制时码流按钮为,正在录制码流时码流按钮变为,如2-20所示。

图2-20 DEMUX模块输出的ES码流录制

 

l   音频数据保存到dmx_aud_x.es中,x0开始,每保存一次加1

l   视频数据保存到dmx_vid_x.es中,x0开始,每保存一次加1.

支持右键菜单选中录制时长和循环次数。

HIPLAY模块输入FILE录制

点击按下HIPLAY模块的“FILE”按钮,则该码流开始录制,再次点击则停止该码流录制。其中未录制时码流按钮为,正在录制码流时码流按钮变为,如2-20所示。

图2-21 HIPLAY模块输入FILE录制

 

l   音频码流保存到hiplayer_aud_stream_00.dat中。

l   视频数据保存到hiplayer_vid_stream_00.dat中。

支持右键菜单选中录制时长和循环次数。

 

在执行该命令前必须先建立/sdcard/hiplayer目录,音视频es数据文件会默认存储在该目录,并保证目录可写权限。

 

VDEC模块的输入ES码流录制

点击按下VDEC模块前的“RAW”按钮,则该码流开始录制,再次点击则停止该码流录制,按钮弹起。其中未录制时码流按钮为,正在录制码流时码流按钮变为,如2-22所示。

图2-22 VDEC模块的输入ES码流录制

 

ES数据保存到vdec_raw_chanX_Y.raw文件中,X表示解码器编号,Y0开始,每保存一次加1

支持右键菜单选中录制时长和循环次数。

VDEC模块的输出YUV录制

点击按下VDEC模块后的“YUV”按钮,则该码流开始录制,再次点击则停止该码流录制,按钮弹起。其中未录制时码流按钮为,正在录制码流时码流按钮变为,如2-23所示。

图2-23 VDEC模块的输出YUV码流录制

 

ES数据保存到vdec_yuv_chanX_Y.yuv文件中,X表示解码器编号,Y0开始,每保存一起加1

支持右键菜单选中录制时长和循环次数。

VPSS模块的输入YUV录制

点击一次VPSS模块前的“YUV”按钮,则录制一帧码流,再次点击则再录一帧,通过右键点击按钮弹出的菜单可以选择“循环录制”,需用户输入循环次数。次数到达,自动弹起按钮。如2-24所示。

图2-24 VPSS模块的输入YUV码流录制

支持右键菜单设置循环次数。

VPSS模块的输出YUV录制

在按钮上点击右键,从右键菜单中选择“Set Port ID”,如2-26所示,然后在弹出的对话框中设置port,如2-26所示窗口。

图2-25 右键菜单设置Prot ID

 

图2-26 设置需要录制的port

 

点击一次VPSS模块后的“YUV”按钮,则录一帧码流,再次点击则再录一帧,以此类推。

支持右键菜单设置port和循环录制。

WINDOW模块的输出YUV录制

在按钮上点击右键,从右键菜单中选择“Set Window ID”,如2-27所示,然后在弹出的对话框中设置windowID,弹出如2-27所示窗口。

图2-27 右键菜单设置Window ID

 

 

图2-28 设置需要录制的windowID

 

点击一次window模块后的“YUV”按钮,则录一帧码流,再次点击则再录一帧,以此类推

支持右键菜单设置window和循环录制。

DISP1模块的输出CAST录制

点击一次DISP1模块后的“CAST”按钮,则录一帧码流,再次点击则再录一帧,以此类推。如2-29所示。

图2-29 DISP1模块的输出CAST录制

 

支持右键菜单设置循环录制。

 

用户只能录制display1模块的输出cast

ADEC模块输入ES流录制

点击按下ADEC模块前的“ES”按钮,则开始录制码流,再次点击则停止码流录制,按钮弹起。2-30所示。

图2-30 ADEC模块输入ES流录制

 

通过右键点击按钮弹出的菜单可以选择是否需要“定长录制和循环录制”,需用户输入时长及循环次数(默认1次)。时间到达且次数到达,则自动弹起按钮。

成功录制之后,可以在设置的目录下找到如下类型文件:

l   adec0_00.es:第1次存adec00ES数据

l   adec0_01.es:第2次存adec00ES数据

ADEC模块输出PCM流录制

点击按下ADEC模块后的“PCM”按钮,则开始录制码流,再次点击则停止码流录制,按钮弹起。如2-31所示。

图2-31 ADEC模块输出PCM流录制

 

通过右键点击按钮弹出的菜单可以选择是否需要“定长录制和循环录制”,需用户输入时长及循环次数(默认1次)。时间到达且次数到达,则自动弹起按钮

成功录制之后,可以在设置的目录下找到如下类型文件:

l   adec0_00. pcm:第1次存adec00PCM数据

l   adec0_01. pcm:第2次存adec00PCM数据

TRACK模块输出PCM流录制

在按钮上点击右键,从右键菜单中选择“Set Track ID”,如2-32所示,然后在弹出的对话框中设置track弹出如2-32所示窗口

图2-32 右键菜单设置TrackID

 

图2-33 设置需要录制的track

 

点击按下TRACK模块前的“PCM”按钮,则开始录制码流,再次点击则停止码流录制,按钮弹起。2-34所示。

图2-34 TRACK模块输出PCM流录制

 

通过右键点击按钮弹出的菜单可以选择是否需要“定长录制和循环录制”,需用户输入时长及循环次数(默认1次)。时间到达且次数到达,则自动弹起按钮。

成功录制之后,可以在设置的目录下找到如下类型文件:

l   track0_00.pcm:第1次存track0PCM数据

l   track0_01.pcm:第2次存track0PCM数据

SOUND模块输出PCM流录制

在按钮上点击右键,从右键菜单中选择“Set Sound ID”,如2-36所示然后在弹出的对话框中设置soundID 弹出如2-36所示

图2-35 右键菜单设置SoundID

 

图2-36 设置需要录制的soundID

 

点击按下SOUND模块后的“PCM”按钮,则开始录制码流,再次点击则停止码流录制,按钮弹起。2-37所示。

图2-37 SOUND模块输出PCM流录制

 

通过右键点击按钮弹出的菜单可以选择是否需要“定长循环录制”,需用户输入时长及循环次数(默认1次)。时间到达且次数到达,则自动弹起按钮。

成功录制之后,可以在设置的目录下找到如下类型文件:

l   sound0_00.pcm:第1次存Sound0PCM数据

l   sound0_01.pcm:第2次存Sound0PCM数据

2.2.5 定长录制功能介绍

设置录制时长(默认为1000ms)功能用于在按钮上点击左键,发送开始录制命令,时隔用户设置的录制时长后,发送停止录制命令,停止录制。

具体操作步骤如下:

                                步骤 1     在码流按钮上点击右键,弹出如2-38所示。

图2-38 右键菜单

 

                                步骤 2     选中Fixed-length record,弹出如2-39所示。

图2-39 设置录制时长

 

完成录制时长设置后,即可开始码流录制。

----结束

2.2.6 循环录制功能介绍

设置循环次数后,工具会按照录制时长的周期循环进行码流的录制,点击左键开始录制后,次数到达,自动弹起按钮。

具体操作步骤如下:

                                步骤 1     在码流按钮上点击右键,弹出如2-40所示。

图2-40 右键菜单

 

                                步骤 2     选中loop recording,弹出如2-41所示。

图2-41 设置循环录制次数

 

设置录制时长和循环次数后,在按钮上点击右键,则会显示用户已选中设置此两项如2-42所示。

图2-42 已设置定制录制与循环录制

 

----结束


3 FAQ

3.1 设置/mnt/sdcard目录作为码流保存路径时,录制的码流出现卡顿及音视频不同步的现象

问题描述

录制的码流出现卡顿及音视频不同步的原因?

解决办法

/mnt目录为内存文件系统,/sdcardFlash,两者的读写速度不同,可能会导致码流卡顿和音视频不同步现象。故建议用户采用读写性能较高的存储设备进行录制码流的存储。