HiDebugger

User Guide

 

 

Issue

05

Date

2015-06-26

 

 

 


 

Copyright © HiSilicon Technologies Co., Ltd. 2015. All rights reserved.

No part of this document may be reproduced or transmitted in any form or by any means without prior written consent of HiSilicon Technologies Co., Ltd.

 

Trademarks and Permissions

HI_logo, hisilicon, and other HiSilicon icons are trademarks of HiSilicon Technologies Co., Ltd.

All other trademarks and trade names mentioned in this document are the property of their respective holders.

 

Notice

The purchased products, services and features are stipulated by the contract made between HiSilicon and the customer. All or part of the products, services and features described in this document may not be within the purchase scope or the usage scope. Unless otherwise specified in the contract, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, either express or implied.

The information in this document is subject to change without notice. Every effort has been made in the preparation of this document to ensure accuracy of the contents, but all statements, information, and recommendations in this document do not constitute a warranty of any kind, express or implied.

 

 

 

 

 

 

 

 

 

 

 

HiSilicon Technologies Co., Ltd.

Address:

Huawei Industrial Base

Bantian, Longgang

Shenzhen 518129

People's Republic of China

Website:

http://www.hisilicon.com

Email:

support@hisilicon.com

 

 


About This Document

Purpose

This document describes the usage of the HiDebugger, including how to obtain the debugging information, how to obtain and display proc information, and how to record streams.

Related Versions

The following table lists the product versions related to this document.

Product Name

Version

Hi3716C

V2XX

Hi3719C

V1XX

Hi3719M

V1XX

Hi3718C

V1XX

Hi3718M

V1XX

Hi3716M

V4XX

Hi3716M

V31X

Hi3110E

V5XX

Hi3798C

V2XX

 

Intended Audience

This document is intended for:

l   Technical support engineers

l   Software development engineers

Change History

Changes between document issues are cumulative. Therefore, the latest document issue contains all changes made in previous issues.

Issue 05 (2015-06-26)

This issue is the fifth official release, which incorporates the following changes:

Some figures are replaced due to the update of GUI layout.

Issue 04 (2015-04-30)

This issue is the fourth official release, which incorporates the following changes:

Hi3798C V200, Hi3716M V420, and Hi3716M V410 are supported.

Section 1.2 is modified.

Issue 03 (2015-03-10)

This issue is the third official release, which incorporates the following changes:

Hi3110E V500 is supported.

Issue 02 (2014-11-05)

This issue is the second official release, which incorporates the following changes:

Modifications are made to support Hi3716M V310.

Chapter 3 is added.

Issue 01 (2014-05-23)

This issue is the first official release, which incorporates the following change:

Chapter 2 GUI and Function Description

Section 2.1.3 is modified.

Issue 00B01 (2013-12-20)

This issue is the first draft release.


Contents

About This Document i

1 Overview.. 6

1.1 Introduction. 6

1.2 Environment Preparations. 6

2 GUI and Function Description.. 9

2.1 DebugInfo. 9

2.1.1 Obtaining Debugging Information by Classification. 9

2.1.2 Searching for Debugging Information. 13

2.1.3 Manually or Automatically Saving Logs. 13

2.2 ProInfo. 14

2.2.1 Obtaining and Displaying Proc Information. 14

2.2.2 Setting the Interval for Obtaining Proc Information. 15

2.2.3 Setting Parameters Before Recording Streams. 15

2.2.4 Recording Streams. 18

2.2.5 Setting the Recording Duration. 28

2.2.6 Setting the Number of Recording Cycles. 29

3 FAQ.. 31

3.1 What Do I Do If Intermittence and Audio/Video Asynchronization Occur During the Playback of Recorded Streams Stored in the /mnt/sdcard Directory?. 31

 


Figures

Figure 1-1 Selecting HiDebugger 7

Figure 1-2 Creating a Telnet connection. 7

Figure 2-1 DebugInfo UI. 9

Figure 2-2 Clicking the start button. 10

Figure 2-3 Setting the debugging level 10

Figure 2-4 Selecting the modules whose logs need to be obtained. 11

Figure 2-5 Displaying logs. 12

Figure 2-6 Stopping obtaining debugging information. 12

Figure 2-7 Searching for specific debugging information. 13

Figure 2-8 Displayed message indicating the number of saved logs. 13

Figure 2-9 Proc file tree on the ProcInfo tab page. 14

Figure 2-10 Obtaining proc information. 15

Figure 2-11 Setting the interval for obtaining proc information. 15

Figure 2-12 Recording streams. 16

Figure 2-13 Setting the path for saving streams. 16

Figure 2-14 Selecting the AVPLAY instance. 17

Figure 2-15 Streams that are transmitted through the DEMUX.. 18

Figure 2-16 Streams that are directly injected into the AVPLAY.. 18

Figure 2-17 Recording all input TSs of the DEMUX module. 19

Figure 2-18 Recording output TSs of the DEMUX module. 19

Figure 2-19 Recording output ESs of the DEMUX module. 20

Figure 2-20 Recording input ESs of the VDEC module. 21

Figure 2-21 Recording output YUV streams of the VDEC module. 21

Figure 2-22 Recording input YUV streams of the VPSS module. 22

Figure 2-23 Setting the port ID.. 22

Figure 2-24 Setting the port for recording streams. 22

Figure 2-25 Setting the window ID.. 23

Figure 2-26 Setting the ID of the window for recording streams. 23

Figure 2-27 Recording output CAST streams of the DISP1 module. 24

Figure 2-28 Recording input ESs of the ADEC module. 24

Figure 2-29 Recording output PCM streams of the ADEC module. 25

Figure 2-30 Setting the track ID.. 25

Figure 2-31 Setting the track for recording streams. 26

Figure 2-32 Recording output PCM streams of the TRACK module. 26

Figure 2-33 Setting the sound ID.. 27

Figure 2-34 Setting the sound device for recording streams. 27

Figure 2-35 Recording output PCM streams of the SOUND module. 27

Figure 2-36 Shortcut menu. 28

Figure 2-37 Setting the recording duration. 28

Figure 2-38 Shortcut menu. 29

Figure 2-39 Setting recording cycles. 29

Figure 2-40 Setting the recording duration and cycles. 30

 


1 Overview

1.1 Introduction

The HiDebugger is used to obtain logs and record streams. It has the following functions:

l   Obtains and displays debugging information by classification.

l   Obtains and displays proc information.

l   Records streams.

1.2 Environment Preparations

Before you use the HiDebugger, perform the following steps:

                               Step 1     Copy HiTool-STB-X.X.X.zip and jre-6u1-windows-i586-p.rar (in $SDK_DIR/ tools/windows/HiTool) in the SDK to a local disk drive on a PC that runs Windows 7 or Windows XP.

                               Step 2     Ensure that JRE 1.6 (jre-6u1-windows-i586-p) or later is preinstalled on the PC. Otherwise, the HiTool cannot run properly. You can download JRE 1.6 from http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html.

                               Step 3     Decompress HiTool-STB-X.X.X.zip, and double-click HiTool.exe.

                               Step 4     Configure the board IP address by running the udhcpc command.

                               Step 5     Run the services that need to be debugged.

                               Step 6     Select a chip (for example, Hi3716C V200), and click HiDebugger, as shown in Figure 1-1.

Figure 1-1 Selecting HiDebugger

 

                               Step 7     Click  (connection manager), create a telnet connection, set Host to the IP address of the board, and click  to establish the connection, as shown in Figure 1-2.

Figure 1-2 Creating a Telnet connection

 

After the connection is set up, the tool automatically starts msp_debug. When the telnet connection is disconnected, the tool automatically stops msp_debug.

note

If the board image is an Android image, open the Busybox telnet by running busybox telnetd -l /system/bin/sh.

----End


2 GUI and Function Description

2.1 DebugInfo

2.1.1 Obtaining Debugging Information by Classification

To obtain debugging information by classification, perform the following steps:

                               Step 1     Start the HiDebugger tool. The DebugInfo UI is displayed by default, as shown in Figure 2-1.

Figure 2-1 DebugInfo UI

 

                               Step 2     Click  on the right of the HiDebugger. The left pane is refreshed, as shown in Figure 2-2.

Figure 2-2 Clicking the start button

 

                               Step 3     Select a debugging level from the Debugging Level drop-down list. The debugging levels include FATAL, ERROR, WARN, INFO, and DBG, which indicate fatal information, error information, warning information, all information, and debugging information respectively. See Figure 2-3.

Figure 2-3 Setting the debugging level

 

                               Step 4     Select the modules whose logs need to be obtained. In Figure 2-4, all modules are selected.

Figure 2-4 Selecting the modules whose logs need to be obtained

 

For example, if you set the debugging level to WARN and select all modules, the obtained logs are displayed on the right pane, as shown in Figure 2-5.

Figure 2-5 Displaying logs

 

You can click  in the upper right corner to stop obtaining the debugging information, as shown in Figure 2-6.

Figure 2-6 Stopping obtaining debugging information

 

You can click  in the upper right corner to remove all log information in the right pane.

----End

2.1.2 Searching for Debugging Information

To search for specific debugging information, enter the field to be searched for in the search box in the lower left corner, then press Enter or click , as shown in Figure 2-7.

Figure 2-7 Searching for specific debugging information

 

2.1.3 Manually or Automatically Saving Logs

l   Manually saving logs

Click  in the upper right corner, and specify the path for saving the logs. After that, the displayed logs on the UI are stored in the specified directory.

l   Automatically saving logs

Each time you click , logs are automatically saved to the Hidebugger.log file in hitool/logs/HiDebugger. After the HiDebugger is closed and opened again, the logs saved previously in Hidebugger.log are removed and the logs being obtained are stored. A message is displayed in the lower left corner indicating the number of logs saved to the file (the message is refreshed for every 10000 rows). See Figure 2-8.

Figure 2-8 Displayed message indicating the number of saved logs

 

2.2 ProInfo

2.2.1 Obtaining and Displaying Proc Information

To obtain and display proc information on the board, perform the following steps:

                               Step 1     Click the ProcInfo tab, and expand the proc file system tree, as shown in Figure 2-9.

Figure 2-9 Proc file tree on the ProcInfo tab page

 

                               Step 2     Select the files for which proc information is to be obtained and click  in the upper right corner to start obtaining proc information, as shown in Figure 2-10.

Figure 2-10 Obtaining proc information

 

----End

2.2.2 Setting the Interval for Obtaining Proc Information

Click  in the upper right corner of the HiDebugger and set the interval (0 by default) for obtaining proc information on the displayed dialog box, as shown in Figure 2-11. Then the proc information is obtained based on the configured time interval.

Figure 2-11 Setting the interval for obtaining proc information

 

2.2.3 Setting Parameters Before Recording Streams

Perform the following steps:

                               Step 1     Click  in the upper right corner of the HiDebugger to open the UI for recording streams, as shown in Figure 2-12.

Figure 2-12 Recording streams

 

                               Step 2     Click Browse, and set the path for storing streams, as shown in Figure 2-13.

Figure 2-13 Setting the path for saving streams

 

 

03-caution

l  If the storage space of the configured directory for storing recorded streams is insufficient, recorded streams may be incomplete.

l  The recorded streams may also be incomplete due to poor network environment or read/write speed.

Therefore, you are advised to store recorded streams in a network mapping directory or mounted removable hard disk.

                               Step 3     Select the AVPLAY instance for recording streams, as shown in Figure 2-14.

Figure 2-14 Selecting the AVPLAY instance

 

 

03-caution

The player must be started on the board; otherwise, no AVPLAY instance can be selected.

After the AVPLAY is selected, the Recording Streams UI is refreshed, and the stream diagram is displayed based on the AVPLAY type. There are two types of streams:

l   Streams that are transmitted through the DEMUX. See Figure 2-15.

l   Streams that are directly injected into the AVPLAY. See Figure 2-16.

Figure 2-15 Streams that are transmitted through the DEMUX

 

Figure 2-16 Streams that are directly injected into the AVPLAY

 

----End

2.2.4 Recording Streams

Currently 13 input/output streams of eight modules can be recorded.

l   Recording all input transport streams (TSs) of the DEMUX module

l   Recording output TSs of the DEMUX module

l   Recording output elementary streams (ESs) of the DEMUX module (including video and audio ESs)

l   Recording input ESs of the VDEC module

l   Recording output YUV streams of the VDEC module

l   Recording input YUV streams of the VPSS module

l   Recording output YUV streams of the VPSS module

l   Recording output YUV streams of the WINDOW module

l   Recording output CAST streams of the DISP1 module

l   Recording input ESs of the ADEC module

l   Recording output pulse-code modulation (PCM) streams of the ADEC module

l   Recording output PCM streams of the TRACK module

l   Recording output PCM streams of the SOUND module

Recording All Input TSs of the DEMUX Module

All TSs from a specific port that is bound to the DEMUX can be recorded. Click the TS button on the left of the DEMUX module to start recording, and click the button again to stop recording. The button is  when the streams are not recorded, and it turns into  when the streams are being recorded. See Figure 2-17.

Figure 2-17 Recording all input TSs of the DEMUX module

 

TSs are saved in dmx_allts_x.ts. If a tuner port is used, x starts from 0 and increases by 1 each time TSs are saved. If an RAM port is used, x is numbered from 128 and does not change each time data is saved. You can check the port type by running the demux_port command.

You can set the recording duration and cycles by using the shortcut menu.

Recording Output TSs of the DEMUX Module

Click the TS button below the DEMUX module to start recording, and click the button again to stop recording. The button is  when the streams are not recorded, and it turns into  when the streams are being recorded. See Figure 2-18.

Figure 2-18 Recording output TSs of the DEMUX module

 

TSs are saved in dmx_rects_x.ts. x starts from 0 and increases by 1 each time TSs are saved.

You can set the recording duration and cycles by using the shortcut menu.

 

03-caution

The input TSs and output TSs of the DEMUX module cannot be recorded at the same time.

Recording Output ESs (Video and Audio ESs) of the DEMUX Module

Click the ES button on the right the DEMUX module to start recording, and click the button again to stop recording. The button is  when the streams are not recorded, and it turns into  when the streams are being recorded. See Figure 2-19.

Figure 2-19 Recording output ESs of the DEMUX module

 

l   Audio data is saved in dmx_aud_x.es. x starts from 0 and increases by 1 each time audio data is saved.

l   Video data is saved in dmx_vid_x.es. x starts from 0 and increases by 1 each time video data is saved.

You can set the recording duration and cycles by using the shortcut menu.

Recording Input ESs of the VDEC Module

Click the RAW button on the left of the VDEC module to start recording, and click the button again to stop recording. The button is  when the streams are not recorded, and it turns into  when the streams are being recorded. See Figure 2-20.

Figure 2-20 Recording input ESs of the VDEC module

 

The ES data is saved in vdec_raw_chanX_Y.raw. X indicates the decoder ID, and Y starts from 0 and increases by 1 each time ES data is saved.

You can set the recording duration and cycles by using the shortcut menu.

Recording Output YUV Streams of the VDEC Module

Click the YUV button on the right of the VDEC module to start recording, and click the button again to stop recording. The button is  when the streams are not recorded, and it turns into  when the streams are being recorded. See Figure 2-21.

Figure 2-21 Recording output YUV streams of the VDEC module

 

The ES data is saved in vdec_yuv_chanX_Y.raw. X indicates the decoder ID, and Y starts from 0 and increases by 1 each time ES data is saved.

You can set the recording duration and cycles by using the shortcut menu.

Recording Input YUV Streams of the VPSS Module

Click the YUV button on the left of the VPSS module to record a stream frame, and click it again to record another frame. To record streams cyclically, right-click the button, choose Cyclic Recording from the shortcut menu, and enter the number of recording cycles. After the specified number of cycles is reached, the black square on the button changes to a red circle. See Figure 2-22.

Figure 2-22 Recording input YUV streams of the VPSS module

 

You can set the number of recording cycles by using the shortcut menu.

Recording Output YUV Streams of the VPSS Module

Right-click the YUV button on the right of the VPSS module, choose Set Port ID from the shortcut menu, and set the port for recording streams in the displayed dialog box, as shown in Figure 2-23.

Figure 2-23 Setting the port ID

 

Figure 2-24 Setting the port for recording streams

 

Click the YUV button on the right of the VPSS module to record a stream frame, and click it again to record another frame. Each time you click the button, a frame is recorded.

You can set the port ID and number of recording cycles by using the shortcut menu.

Recording Output YUV Streams of the WINDOW Module

Right-click the YUV button on the right of the WINDOW module, choose Set Window ID from the shortcut menu, and set the ID of the window for recording streams in the displayed dialog box, as shown in Figure 2-25.

Figure 2-25 Setting the window ID

 

Figure 2-26 Setting the ID of the window for recording streams

 

Click the YUV button on the right of the WINDOW module to record a stream frame, and click it again to record another frame. Each time you click the button, a frame is recorded.

You can set the window ID and number of recording cycles by using the shortcut menu.

Recording Output CAST Streams of the DISP1 Module

Click the CAST button on the right of the DISP1 module to record a stream frame, and click it again to record another frame. Each time you click the button, a frame is recorded. See Figure 2-27.

Figure 2-27 Recording output CAST streams of the DISP1 module

 

You can set the number of recording cycles by using the shortcut menu.

 

03-caution

You can record only output CAST frames of the DISPLAY1 module.

Recording Input ESs of the ADEC Module

Click the ES button on the left of the ADEC module to start recording, and click the button again to stop recording. See Figure 2-28.

Figure 2-28 Recording input ESs of the ADEC module

 

You can select Fixed-Duration Recording and Cyclic Recording from the shortcut menu. You need to specify the recording duration and number of recording cycles (1 by default). The black square on the button automatically changes to a red circle when the time duration and number of cycles are reached.

You can find files similar to the following in the configured directory after recording:

l   adec0_00.es: file for storing ES data of adec00 saved for the first time

l   adec0_01.es: file for storing ES data of adec00 saved for the second time

Recording Output PCM Streams of the ADEC Module

Click the PCM button on the right of the ADEC module to start recording, and click the button again to stop recording. See Figure 2-29.

Figure 2-29 Recording output PCM streams of the ADEC module

 

You can select Fixed-Duration Recording and Cyclic Recording from the shortcut menu. You need to specify the recording duration and number of recording cycles (1 by default). The black square on the button automatically changes to a red circle when the time duration and number of cycles are reached.

You can find files similar to the following in the configured directory after recording:

l   adec0_00.pcm: file for storing PCM data of adec00 saved for the first time

l   adec0_01.pcm: file for storing PCM data of adec00 saved for the second time

Recording Output PCM Streams of the TRACK Module

Right-click the PCM button on the right of the TRACK module, choose Set Track ID from the shortcut menu, and set the track for recording streams in the displayed dialog box, as shown in Figure 2-30.

Figure 2-30 Setting the track ID

 

Figure 2-31 Setting the track for recording streams

 

Click the TRACK button on the right of the TRACK module to start recording, and click the button again to stop recording. See Figure 2-32.

Figure 2-32 Recording output PCM streams of the TRACK module

 

You can select Fixed-Duration Recording and Cyclic Recording from the shortcut menu. You need to specify the recording duration and number of recording cycles (1 by default). The black square on the button automatically changes to a red circle when the time duration and number of cycles are reached.

You can find files similar to the following in the configured directory after recording:

l   track0_00.pcm: file for storing PCM data of track0 saved for the first time

l   track0_01.pcm: file for storing PCM data of track0 saved for the second time

Recording Output PCM Streams of the SOUND Module

Right-click the PCM button on the right of the SOUND module, choose Set Sound ID from the shortcut menu, and set the ID of the sound device for recording streams in the displayed dialog box, as shown in Figure 2-33.

Figure 2-33 Setting the sound ID

 

Figure 2-34 Setting the sound device for recording streams

 

Click the PCM button on the right of the SOUND module to start recording, and click the button again to stop recording. See Figure 2-35.

Figure 2-35 Recording output PCM streams of the SOUND module

 

You can select Fixed-Duration Recording and Cyclic Recording from the shortcut menu. You need to specify the recording duration and number of recording cycles (1 by default). The black square on the button automatically changes to a red circle when the time duration and number of cycles are reached.

You can find files similar to the following in the configured directory after recording:

l   sound0_00.pcm: file for storing PCM data of sound0 saved for the first time

l   sound0_01.pcm: file for storing PCM data of sound0 saved for the second time

2.2.5 Setting the Recording Duration

After the recording duration (1000 ms by default) is set, the start recording command is sent when you click the stream button, and the stop recording command is sent when the recording duration is reached.

To set the recording duration, perform the following steps:

                               Step 1     Right-click the stream button, as shown in Figure 2-36.

Figure 2-36 Shortcut menu

 

                               Step 2     Choose Fixed-Duration Recording. The dialog box shown in Figure 2-37 is displayed.

Figure 2-37 Setting the recording duration

 

Then you can start to record steams.

----End

2.2.6 Setting the Number of Recording Cycles

After the number of recording cycles is set, the tool records streams based on the configured recording duration and cycles. Click the stream button to start recording. After the configured cycles, the black square on the button automatically changes to a red circle.

To set the number of recording cycles, perform the following steps:

                               Step 1     Right-click the stream button, as shown in Figure 2-38.

Figure 2-38 Shortcut menu

 

                               Step 2     Choose Cyclic Recording. The dialog box shown in Figure 2-39 is displayed.

Figure 2-39 Setting recording cycles

 

After the recording duration and cycles are set, right-click the stream button. The two options in the shortcut menu are selected, as shown in Figure 2-40.

Figure 2-40 Setting the recording duration and cycles

 

----End


3 FAQ

3.1 What Do I Do If Intermittence and Audio/Video Asynchronization Occur During the Playback of Recorded Streams Stored in the /mnt/sdcard Directory?

Problem Description

Intermittence and audio/video asynchronization occur during the playback of recorded streams stored in the /mnt/sdcard directory.

Solution

This issue occurs because the read/write speeds of the memory file system and the flash memory are different, and /mnt is in the memory file system whereas /sdcard is in the flash memory. You are advised to record streams by using a storage device with high read/write performance.