|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HiDebugger 工具使用指南
|
||
文档版本 |
05 |
|
发布日期 |
2015-04-23 |
|
|
||
版权所有 © 深圳市海思半导体有限公司2015。保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
商标声明
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意 您购买的产品、服务或特性等应受海思公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,海思公司对本文档内容不做任何明示或默示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 |
|
|
深圳市海思半导体有限公司 |
|
地址: |
深圳市龙岗区坂田华为基地华为总部 邮编:518129 |
网址: |
|
客户服务邮箱: |
前 言
概述
本文档主要介绍HiDebugger工具的使用方法,适用于分类抓取调试信息,Proc信息的获取及显示,录制码流的场景。
产品版本
产品名称 |
产品版本 |
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 |
新增支持Hi3798CV200、Hi3716MV420/410芯片。 |
Hidebugger工具是用于抓取日志与录制码流的,主要功能是:
l 调试信息分类获取及显示
l Proc信息获取及显示
l 录制码流
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地址
步骤 5 选择芯片,例如Hi3716CV200,点击HiDebugger,如图1-1所示。
步骤 6 在HiTool工具中,点击连接管理器按钮,创建Telnet连接,并配置IP为单板IP地址,再点击连接按钮
建立连接,如图1-2所示。
建立连接后,工具会自动启动根路径下的msp_debug,在断开Telnet连接时,工具会自动停止msp_debug。
如果单板镜像为Android镜像,请使用命令busybox telnetd -l /system/bin/sh打开Busybox Telnet。
----结束
具体操作步骤如下:
步骤 1 打开HiDebugger工具时默认显示此DebugInfo界面,如图2-1所示。
图2-1 打开HiDebugger后显示DebugInfo界面
步骤 2 点击HiDebugger界面右侧的开始按钮,左侧模块界面(Level Setting)刷新,如图2-2所示。
图2-2 点击右侧开始按钮,左侧Level Setting界面刷新
步骤 3 点击“select Debug Level:”后的单选框,设置调试级别,可选调试级别有:FATAL,ERROR,WARN,INFO,DEBUG,此5种调试级别依次代表日志的级别为:致命信息,错误信息,警告信息,所有信息,调试信息,如图2-3所示。
步骤 4 设置需要抓取日志的模块,可以仅选择需要抓取的模块,如图2-4所示选中了所有模块。
如:设置调试级别为WARN,设置抓取所有模块,界面开始显示抓取的日志信息,如图2-5所示。
步骤 5 点击右上角停止按钮,停止调试信息的抓取,如图2-6所示。
步骤 6 点击右上角停止清除按钮,可以清除界面上的所有日志信息。
----结束
具体操作步骤如下:
在左下角搜索框中输入需要搜索的字段,点击回车或者搜索按钮,如图2-7所示。
l 手动保存
点击右上角保存按钮,可以手动指定路径,设置路径完成后,界面上打印的日志将存入到用户所设置的文件中。
每次点击开始按钮,日志将会开始自动保存到hitool /logs/HiDebugger目录下的Hidebugger.log文件中,供用户查看。关闭HiDebugger工具重新打开后,Hidebugger.log文件中的内容将会清空,重新开始保存当前运行过程中抓取的日志。界面左下角会提示当前已有多少条日志保存到文件中(每10000行日志刷新
一次提示),如图2-8所示。
具体操作步骤如下:
步骤 1 选中ProcInfo界面,展开proc文件系统树,如图2-9所示。
图2-9 ProcInfo界面proc文件树
步骤 2 选中需要录制proc信息的文件,并点击右上角开始按钮,开始抓取,如图2-10所示。
----结束
设置抓取proc信息的周期,默认为0ms(毫秒),设置后在抓取信息时会根据设置的抓取周期间隔此时间段后再次抓取。
点击HiDebugger视图右上角设置抓取proc信息周期按钮,弹出如图2-11所示界面。
具体操作步骤如下:
步骤 1 点击HiDebugger视图中右上角的录制码流按钮,打开录制码流界面,如图2-12所示。
步骤 2 点击Browse按钮,设置保存码流路径,如图2-13所示。
存储介质对码流录制功能的影响:
l 若设置的保存码流的路径存储空间不足,则可能导致码流录制不完整。
l 录制码流的过程,可能会受到网络环境以及读写速度的影响,导致码流录制不完整。
综上所述,建议用户优先选择网络映射路径或挂载移动硬盘等方式用于存储码流。
步骤 3 点击单选框,设置需要录制的avplay,如图2-14所示。
单板上要启动播放器,如果没有启动,就没有avplay的实例选择了。
选择avplay后,Recording stream界面刷新,根据avplay类型得到不同的码流图,共有两类码流类型:
l 经过DEMUX的码流,如图2-15所示
l 直接注入Avplay的码流,如图2-16所示。
l 经过HiPlayer的码流,如图2-17所示
----结束
现支持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”按钮则该码流开始录制,再次点击则停止该码流录制,其中未录制时码流按钮为,正在录制码流时码流按钮变为
,如图2-18所示。
图2-18 DEMUX模块输入的全码流TS流录制
TS流保存到dmx_allts_x.ts中,其中x如果是tuner端口则从0开始,每保存一次加1。RAM端口则从128开始,每保存一次x不会变,具体是什么端口可用demux_port命令查看。
支持右键菜单选中定长录制和循环录制。
DEMUX模块输出TS录制
点击按下demux模块下方的“TS”按钮,则该码流开始录制,再次点击则停止该码流录制。其中未录制时码流按钮为,正在录制码流时码流按钮变为
,如图2-19所示。
图2-19 DEMUX模块输出TS录制
TS流保存到dmx_rects_x.ts中,x从0开始,每保存一次加1。
支持右键菜单选中定长录制和循环录制。
demux模块的输入TS和输出TS不能同时录制。
DEMUX模块输出的ES(包括视频ES,音频ES)码流录制。
点击按下demux模块前的“ES”按钮,则该码流开始录制,再次点击则停止该码流录制。其中未录制时码流按钮为,正在录制码流时码流按钮变为
,如图2-20所示。
图2-20 DEMUX模块输出的ES码流录制
l 音频数据保存到dmx_aud_x.es中,x从0开始,每保存一次加1。
l 视频数据保存到dmx_vid_x.es中,x从0开始,每保存一次加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表示解码器编号,Y从0开始,每保存一次加1。
支持右键菜单选中录制时长和循环次数。
VDEC模块的输出YUV录制
点击按下VDEC模块后的“YUV”按钮,则该码流开始录制,再次点击则停止该码流录制,按钮弹起。其中未录制时码流按钮为,正在录制码流时码流按钮变为
,如图2-23所示。
图2-23 VDEC模块的输出YUV码流录制
ES数据保存到vdec_yuv_chanX_Y.yuv文件中,X表示解码器编号,Y从0开始,每保存一起加1。
支持右键菜单选中录制时长和循环次数。
VPSS模块的输入YUV录制
点击一次VPSS模块前的“YUV”按钮,则录制一帧码流,再次点击则再录一帧,通过右键点击按钮弹出的菜单可以选择“循环录制”,需用户输入循环次数。次数到达,自动弹起按钮。如图2-24所示。
图2-24 VPSS模块的输入YUV码流录制
支持右键菜单设置循环次数。
VPSS模块的输出YUV录制
在按钮上点击右键,从右键菜单中选择“Set Port ID”,如图2-26所示,然后在弹出的对话框中设置port,如图2-26所示窗口。
图2-26 设置需要录制的port
点击一次VPSS模块后的“YUV”按钮,则录一帧码流,再次点击则再录一帧,以此类推。
支持右键菜单设置port和循环录制。
WINDOW模块的输出YUV录制
在按钮上点击右键,从右键菜单中选择“Set Window ID”,如图2-27所示,然后在弹出的对话框中设置windowID,弹出如图2-27所示窗口。
图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次存adec00的ES数据
l adec0_01.es:第2次存adec00的ES数据
点击按下ADEC模块后的“PCM”按钮,则开始录制码流,再次点击则停止码流录制,按钮弹起。如图2-31所示。
图2-31 ADEC模块输出PCM流录制
通过右键点击按钮弹出的菜单可以选择是否需要“定长录制和循环录制”,需用户输入时长及循环次数(默认1次)。时间到达且次数到达,则自动弹起按钮
成功录制之后,可以在设置的目录下找到如下类型文件:
l adec0_00. pcm:第1次存adec00的PCM数据
l adec0_01. pcm:第2次存adec00的PCM数据
TRACK模块输出PCM流录制
在按钮上点击右键,从右键菜单中选择“Set Track ID”,如图2-32所示,然后在弹出的对话框中设置track,弹出如图2-32所示窗口。
点击按下TRACK模块前的“PCM”按钮,则开始录制码流,再次点击则停止码流录制,按钮弹起。如图2-34所示。
图2-34 TRACK模块输出PCM流录制
通过右键点击按钮弹出的菜单可以选择是否需要“定长录制和循环录制”,需用户输入时长及循环次数(默认1次)。时间到达且次数到达,则自动弹起按钮。
成功录制之后,可以在设置的目录下找到如下类型文件:
l track0_00.pcm:第1次存track0的PCM数据
l track0_01.pcm:第2次存track0的PCM数据
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次存Sound0的PCM数据
l sound0_01.pcm:第2次存Sound0的PCM数据
设置录制时长(默认为1000ms)功能用于在按钮上点击左键,发送开始录制命令,时隔用户设置的录制时长后,发送停止录制命令,停止录制。
具体操作步骤如下:
步骤 1 在码流按钮上点击右键,弹出如图2-38所示。
步骤 2 选中Fixed-length record,弹出如图2-39所示。
完成录制时长设置后,即可开始码流录制。
----结束
设置循环次数后,工具会按照录制时长的周期循环进行码流的录制,点击左键开始录制后,次数到达,自动弹起按钮。
具体操作步骤如下:
步骤 1 在码流按钮上点击右键,弹出如图2-40所示。
步骤 2 选中loop recording,弹出如图2-41所示。
设置录制时长和循环次数后,在按钮上点击右键,则会显示用户已选中设置此两项如图2-42所示。
----结束