HiReg

工具使用指南

 

 

文档版本

04

发布日期

2015-04-23

 

 

 


 





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

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

 

商标声明

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

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

 

注意

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

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

 

 

 

 

 

 

 

 

 

 

 

 

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

地址:

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

网址:

http://www.hisilicon.com

客户服务邮箱:

support@hisilicon.com

 

 


 

概述

主要介绍HiReg工具的使用方法。

产品版本

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

产品名称

产品版本

Hi3751

V100

Hi3716C

V100

Hi3716M

V100

Hi3716C

V2XX

Hi3719C

V1XX

Hi3718C

V1XX

Hi3719M

V1XX

Hi3718M

V1XX

Hi3716M

V4XX

Hi3716M

V3XX

Hi3798M

V100

Hi3796M

V100

Hi3110E

V5XX

Hi3798C

V2XX

 

读者对象

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

l   技术支持工程师

l   单板硬件开发工程师

作者信息

章节号

章节名称

作者信息

全文

全文

Y00250993/F00107764

 

修订记录

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

修订日期

版本

修订说明

2014-05-12

00B01

第一次临时版本发布。

2014-06-18

01

第一次正式版本发布。

2014-10-31

02

新增支持Hi3798M/Hi3796M V100芯片。

2015-03-10

03

新增支持Hi3110E V500芯片。

2015-04-23

04

新增支持Hi3798CV200Hi3716MV420/410芯片。

 


目录

  ... iii

1 概述... 1-1

1.1 工具概述... 1-1

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

2 界面及基本功能... 2-1

2.1 主界面... 2-1

2.2 HiReg透视图... 2-2

2.3 HiReg工具栏介绍... 2-5

3 寄存器调试界面及其功能... 3-1

3.1 功能概述... 3-1

3.2 寄存器浏览器视图... 3-1

3.2.1 寄存器查询区域... 3-2

3.2.2 寄存器列表区域... 3-3

3.2.3 芯片类型检测... 3-4

3.3 寄存器数据编辑器视图... 3-6

3.3.1 工具栏... 3-7

3.3.2 寄存器编辑器... 3-8

3.4 I2C编辑器视图... 3-9

3.4.1 工具栏... 3-9

3.4.2 I2C设备控制区... 3-10

3.4.3 I2C设备功能... 3-11

3.5 寄存器描述视图... 3-11

3.6 寄存器数据对比视图... 3-12

3.6.1 操作... 3-12

3.7 寄存器调试实例... 3-13

3.7.1 说明... 3-13

3.7.2 操作... 3-13

4 内存调试界面及其功能... 4-1

4.1 功能概述... 4-1

4.2 设备内存视图... 4-1

4.2.1 设备内存视图工具栏... 4-2

4.2.2 数据定义区... 4-3

4.2.3 数据编辑区... 4-3

4.2.4 位编辑区... 4-4

4.2.5 操作... 4-5

4.3 内存数据对比视图... 4-5

4.3.1 工具栏... 4-6

4.3.2 数据区域... 4-7

4.4 内存调试实例... 4-8

4.4.1 说明... 4-8

4.4.2 操作... 4-8

5 UBoot模式下的调试... 5-1

5.1 概述... 5-1

5.2 切换到UBoot模式... 5-1

5.3 控制模式切换对话框的弹出... 5-2

6 FAQ.. 6-1

6.1 串口无法连接... 6-1

6.2 网口无法连接... 6-1

6.3 芯片类型不匹配... 6-2

 


插图目录

1-1 首选项KoCommand命令配置... 1-2

2-1 寄存器调试功能主页面... 2-2

2-2 通过工具平台首页进入HiReg视图... 2-3

2-3 打开Hireg透视图页面... 2-3

2-4 选择透视图页面... 2-4

2-5 Hireg工具透视图... 2-5

2-6 Hireg工具栏... 2-5

2-7 PLL分频参数计算... 2-6

3-1 寄存器浏览器... 3-2

3-2 寄存器查询方式图... 3-2

3-3 元素说明图... 3-3

3-4 右键菜单... 3-3

3-5 芯片类型检测... 3-5

3-6 切换芯片... 3-6

3-7 寄存器编辑器页面... 3-7

3-8 寄存器数据编辑器工具栏... 3-7

3-9 寄存器编辑器查找页面... 3-8

3-10 寄存器位编辑器... 3-8

3-11 I2C编辑器... 3-9

3-12 I2C编辑器工具栏... 3-10

3-13 I2C设备控制区... 3-10

3-14 寄存器位编辑器... 3-11

3-15 寄存器描述视图页面... 3-11

3-16 寄存器对比视图界面... 3-12

3-17 定时读取及数据录制参数设置对话框... 3-13

3-18 串口连接对话框... 3-14

3-19 网口连接对话框... 3-15

3-20 查询、添加寄存器,查看寄存器描述信息... 3-16

3-21 编辑、读写寄存器数据... 3-17

3-22 寄存器对比视图界面... 3-18

3-23 定时读取及数据录制参数设置对话框... 3-18

3-24 首选项配置参数... 3-19

4-1 内存视图界面... 4-2

4-2 内存视图工具栏... 4-2

4-3 内存视图数据定义图... 4-3

4-4 按位编辑数据... 4-4

4-5 按位编辑图... 4-4

4-6 内存数据对比视图界面... 4-6

4-7 内存对比视图工具栏... 4-6

4-8 内存比较视图... 4-7

4-9 内存比较视图页面... 4-8

5-1 切换模式对话框... 5-1

5-2 重新启用模式切换对话框... 5-2

 


1 概述

1.1 工具概述

HiReg是用来对海思芯片寄存器、I2C寄存器、DDR数据进行调试的工具,可通过串口及网口与单板连接,支持单个和批量数据读写及定时数据读取及录制等功能。

1.2 环境准备说明

l   板端正确安装了regtool,并工作正常,目前最新版本为reg-tools-1.0.0

l   板端安装了最新的Btools程序,目前最新版本为Board tools : ver0.0.1_2013018

l   工具默认给出了KO Command,需要修改KO Command时,可以在首选项中配置ko Command命令,如1-1所示。

图1-1 首选项KoCommand命令配置

 

 


2 界面及基本功能

HiReg界面及基本功能:主界面,HiReg透视图,HiReg工具栏介绍

2.1 主界面

本文以Hi3716CV100单板为例,其他芯片单板类似。

2-1所示,是HiReg工具通过串口连接到Hi3716CV100单板后的寄存器调试功能主界面。

图2-1 寄存器调试功能主页面

 

2.2 HiReg透视图

透视图用于将HiReg工具的不同视图进行摆放并显示。首先,通过工具平台首页进入HiReg视图,显示如2-2所示。

图2-2 通过工具平台首页进入HiReg视图

 

可以通过菜单栏或工具栏,打开或切换到HiReg工具透视图

图2-3 打开Hireg透视图页面

 

在打开的选择框中,选择Hireg透视图。

图2-4 选择透视图页面

 

Hireg 工具透视图。

图2-5 Hireg工具透视图

 

2.3 HiReg工具栏介绍

HiReg工具栏如2-6所示。

图2-6 Hireg工具栏

 

工具栏图标说明如下:

l  

       功能:连接管理器

       说明:设置连接配置,选择配置,连接及断开等

l  

       功能:连接按钮

       说明:按钮为绿色,表示已连接。

l  

       功能:断开连接按钮

       说明:按钮为红色,表示连接已建立,按钮为灰色,表示连接已断开。

l   import_chip

       功能:终端工具

       说明:打开终端工具视图

l  

       功能:tftp工具

       说明:打开tftp工具视图

l   import_chip

       功能:导入芯片手册文件

       说明:导入芯片手册到应用程序中,要导入的文件必须是正确的zip文件,否则,无法导入

l  

       功能:PLL分频参数计算

       说明:选择需要计算的PLL Pin,并输入该引脚上希望输出的频率值,点击“计算参数”按钮,可以得到PLL相关配置寄存器的整数分频参数,包括:postdiv1postdiv2refdivfbdiv,以及小数分频参数frac。当输入的频率值为整数时,frac等于0。如果输入频率值,以及部分分频参数,点击“计算参数”按钮,则可以得到其余的分频参数。输入全部分频参数,点击“计算频率”,则可以得到PLL Pin的输出频率。

图2-7 PLL分频参数计算

 

l   memory_clear

       功能:执行内存清除命令,类似原来的Himc命令

       说明:打开内存清除命令执行窗口,执行内存清除命令

l   execute_script

       功能:执行脚本

       说明:解析并执行脚本文件

脚本文件必须满足以下格式:

       注释行以“#”开头

       一行必须只写一条语句

       每行的可执行语句为板端支持的命令,可执行语句必须以(himd, himd.l, himm, himc, hier, hiew)中标识开头,否则视为无效命令

       工具不会对命令进行任何解析,只是直接发送给板端。脚本文件后缀名建议为“.data”。

样例:

 

#only for test

himd 0x80000000 0x4

himd.l 0x80000000 0x4

#end

l   memory_view

       功能:打开内存视图

       说明:打开并显示内存视图


3 寄存器调试界面及其功能

3.1 功能概述

HiReg可用于对芯片的寄存器进行调试,具有以下功能特性:

l   支持串口和网口两种方式的连接

l   芯片类型检测

只有连接与工具当前设定的芯片型号匹配的单板,HiReg的寄存器调试功能才可使用,否则即使可连接上单板,但调试功能仍无法使用。

l   芯片寄存器结构

可添加多个寄存器视图,对多个不同的寄存器数据块进行编辑和对比。

l   寄存器数据读写

支持对寄存器数据的单个及批量读写,支持定时读取功能。

l   寄存器数据浏览,过滤及编辑。

l   寄存器数据导入导出及对比

支持内存数据的导入导出及对比。

l   集成寄存器手册

l   控制台输出

3.2 寄存器浏览器视图

3-1所示,寄存器浏览器包括3部分:

l   寄存器查询区域

l   寄存器列表区域

l   芯片类型检测

图3-1 寄存器浏览器

 

3.2.1 寄存器查询区域

寄存器查询方式如3-2所示。

图3-2 寄存器查询方式图

 

l   按地址查找

输入十六进制地址,按下回车键,进行精确机制查找,寄存器列表中存在该地址对应的寄存器,则将该寄存器添加到寄存器编辑器列表,否则,构建一个未知的寄存器添加到寄存器编辑器列表。

l   按名称过滤

输入寄存器名称,按下回车键,进行过滤,寄存器列表中存在该名称对应的寄存器,则将该寄存器添加到寄存器编辑器列表,否则,显示原始寄存器列表。

3.2.2 寄存器列表区域

寄存器列表区域包括:

l   芯片列表

图3-3 元素说明图

register_explorer_elements

 

完整的芯片列表,包含【芯片】>【模块组】>【模块】>【寄存器组】>【寄存器】。

l   操作

       鼠标双击事件

【芯片】:屏蔽,即无任何动作。

【模块组】/【模块】/【寄存器组】:将该元素下的所有寄存器添加到寄存器编辑器中。

【寄存器】:将该元素添加到寄存器编辑器中。

       右键菜单

图3-4 右键菜单

 

无论用以上何种方式进行寄存器的添加,同一个寄存器只能被添加一次,即在寄存器列表中不重复。

l   “添加”操作:将该元素下的所有寄存器添加到寄存器编辑器中。

l   “添加整颗芯片”操作:将整颗芯片中的所有寄存器添加到编辑器中。

3.2.3 芯片类型检测

当用户在HiReg里,对单板进行连接后,工具会自动检测用户当前设定的芯片类型是否与实际所连单板的芯片类型相匹配。

l   如果匹配,则可继续操作,寄存器浏览器视图的树形结构列表会显示出来,用户可添加寄存器到编辑器里进行读写等操作。

l   如果不匹配,则工具在寄存器浏览器视图里,会给用户提示芯片类型不匹配,这时,用户需检查并重试。提示的界3-5所示

图3-5 芯片类型检测

 

l   如果不匹配,用户可以在工具平台菜单栏中选择【芯片】->【切换芯片】,在弹出框中选择与此工具匹配的芯片手册,显示如3-6所示。

图3-6 切换芯片

 

3.3 寄存器数据编辑器视图

寄存器编辑器页面如3-7所示。

图3-7 寄存器编辑器页面

 

 

3.3.1 工具栏

寄存器数据编辑器工具栏如3-8所示。

图3-8 寄存器数据编辑器工具栏

register_editor_toolbar

 

工具栏图标说明如下:

l   read

       功能:读数据

       说明:从设备读取编辑器中的所有寄存器的数据,并刷新到界面

l   write

       功能:写数据

       说明:将编辑器中的所有可写寄存器的数据写入设备

l  

       功能:自动读任务设置

       说明:启动或者停止自动读任务

l   import

       功能:导入数据

       说明:从寄存器数据文件导入的寄存器数据到编辑器中

write

       功能:导出数据

       说明:将编辑器中的所有寄存器的数据导到文件

l   export_edited

       功能:导出更改过的寄存器

       说明:将已更改过的寄存器从内存导到文件

l   compare_view

       功能:寄存器比较器

       说明:打开文件设备比较器

l   clear

       功能:移除寄存器

       说明:将所有寄存器从编辑器中移除

3.3.2 寄存器编辑器

寄存器编辑器查找页面如3-9所示。

图3-9 寄存器编辑器查找页面

 

l   按名称查找:在查找定位对话框中输入名称

l   按地址:在查找定位对话框中输入地址

l   全部显示:显示全部的寄存器数据

l   只显示修改过的寄存器:显示修改的寄存器

图3-10 寄存器位编辑器

register_editor_cell

 

按位显示编辑区:

l   说明:该寄存器的当前值的对应的位值信息。

l   状态:如果该寄存器包含可写成员,则可写,否则只读。

l   编辑方式:当该寄存器有值时,位编辑器是可用的,当双击该寄存器的某个位值时,该位值会自动切换0-1状态。

3.4 I2C编辑器视图

I2C编辑器页面如3-11所示。

图3-11 I2C编辑器

 

 

3.4.1 工具栏

I2C编辑器工具栏如3-12所示。

图3-12 I2C编辑器工具栏

i2c_editor_toolbar

 

工具栏的图标说明如下:

l   read

       功能:读数据。

       说明:从设备读取编辑器中的所有寄存器的数据,并刷新到界面。

l   write

       功能:写数据。

       说明:将编辑器中的所有可写寄存器的数据写入设备。

l   import

       功能:导入数据。

       说明:从寄存器数据文件导入的寄存器数据到编辑器中。

l   write

       功能:导出数据。

       说明:将编辑器中的所有寄存器的数据导到文件。

l   clear

       功能:移除寄存器。

       说明:将所有寄存器从编辑器中移除。

3.4.2 I2C设备控制区

I2C设备控制区如3-13所示。

图3-13 I2C设备控制区

 

l   I2C端口:输入I2C端口,支持1字节的十六进制字符串,不包含前缀“0x”。

l   设备ID:输入设备ID,支持1字节的十六进制字符串,不包含前缀“0x”。

l   寄存器地址:输入寄存器地址,支持4字节的十六进制字符串,不包含前缀“0x”。

l   长度:输入长度,支持1字节的十六进制字符串,不包含前缀“0x”。输入“I2C端口”,“设备ID”,“寄存器地址”,“长度”后,点击回车,将读取的寄存器并添加到编辑器中,但不执行重复添加。

l   地址所占字节:即为寄存器地址所占字节。

l   寄存器所占字节:即为寄存器的长度所占字节。

图3-14 存器位编辑器

register_editor_cell

 

按位显示编辑区:

l   说明:该寄存器的当前值的对应的位值信息。

l   状态:如果该寄存器包含可写成员,则可写,否则只读。

l   编辑方式:当该寄存器有值时,位编辑器是可用的,当双击该寄存器的某个位值时,该位值会自动切换0-1状态。

3.4.3 I2C设备功能

I2C设备功能同寄存器编辑器相似,但I2C设备是对支持I2C功能的模块中的寄存器进行编辑。I2C设备中添加的寄存器都具有设备ID8bit的值。可对寄存器进行读写操作。

3.5 寄存器描述视图

寄存器描述视图页面如3-15所示。

图3-15 寄存器描述视图页面

 

当用户成功的连接单板,并将寄存器从寄存器浏览器视图里添加到寄存器编辑器后,在寄存器编辑器里选中某个寄存器,该寄存器所对应的芯片手册说明即在寄存器描述信息视图里显示出来。

该视图展现的是某个寄存器的相应描述信息:

l   寄存器名称

l   寄存器说明

l   寄存器偏移地址

l   寄存器初始值

l   寄存器成员信息

       成员位信息

       成员属性

       成员名称

       成员描述

3.6 寄存器数据对比视图

用户可将寄存器数据导入导出,并可将当前芯片寄存器数据与已导出的文件数据进行对比,界面如3-16所示。

图3-16 寄存器对比视图界面

 

3.6.1 操作

l   数据导入

点击视图工具栏中“import data”,可以从文件中导入数据到寄存器比较器中,导入数据格式应为寄存器编辑器中导出格式。

l   数据刷新

点击视图工具栏中“refresh data”,可以读取所导入的寄存器在当前设备中的值,并与导入数据中的值相比较,若不同则以黄底红字显示。刷新时工具栏中其他功能禁用。

l   全写数据

点击视图工具栏中“write all”,可以将当前导入数据中寄存器的值全部写入到单板中,全写时工具栏中其他功能禁用。

l   定时读取设置

比较器中存在数据,点击视图工具栏中“”,出现定时读取及数据录制参数设置对话框,如3-17,设定时间间隔,时间间隔不能小于200毫秒,点击确定,可以让比较器按设定时间间隔从板端读取寄存器值与导入值相比较,直到用户再次点击该按钮或设备值与文件值出现不一致,定时读取功能停止,定时读取时工具栏中其他禁用。

l   全部移除

点击视图工具栏中“clear”,移除比较器中所有导入的数据。

图3-17 定时读取及数据录制参数设置对话框

 

3.7 寄存器调试实例

3.7.1 说明

在本实例中,我们将连接单板,并进行寄存器的读写操作及数据导入导出和对比操作。通过本实例的演练,用户可更好的掌握寄存器调试工具的使用。

3.7.2 操作

操作步骤如下:

                                步骤 1     连接单板

【串口连接】

1.         在工具栏上,点击工具管理器按钮,打开工具管理器界面。

2.         在工具管理器里,新建一个串口连接,并修改参数配置如下:

       串口:COM1

       波特率:115200

       数据位:8

       停止位:1

       奇偶校验位:None

       数据流控制:None

       超时:5

3.         点击连接。

4.         通过串口连接单板和开发用的PC机,确认连接串口是COM1,给单板上电。

       等单板启动完毕,下拉选择连接为刚创建的串口连接项,点击工具栏上的“连接”按钮,工具会建立与单板的串口连接。

5.         如果连接成功,则“连接”按钮被置灰,而“断开连接”按钮被置亮,点击该按钮即断开与单板的连接。

6.         如果连接失败,则系统会提示用户连接失败,这时请检查与单板的物理连接和连接的参数配置是否都正确。

7.         串口连接如3-18

图3-18 串口连接对话框

 

【网口连接】

1.         在工具栏上,点击“工具管理器”按钮,打开工具管理器界面。

2.         在工具管理器里,新建一个Telnet连接,配置相应的参数,请参照板端配置进行参数的配置,板端配置如3-19,参数说明如下

l   Host :板端的IP地址

l   Port :端口号

l   Timeout:连接的超时时间

l   Command.Prompt:命令提示符,如3-4#”号

l   Login.Prompt:登录名提示符,如3-4login:

l   Password.Prompt:密码提示符,如3-4Password:

l   Login.Name:登录名,如3-4root

l   Password:密码,如3-4“空”

图3-19 板端Telnet连接参数配置图

 

当与板端进行Telnet连接时,请查看当前单板是否需要验证用户名及密码,如果需要验证请根据实际情况修改建立Telnet连接时的参数,若不需要进行用户名密码校验,只需要检查命令提示符是否与板端一致即可。

 

3.         点击添加。

4.         通过网口连接单板和开发用的PC机,给单板上电。

5.         等单板启动完毕,下拉选择连接为刚创建的网口连接项,点击工具栏上的“连接”按钮,工具会建立与单板的网口连接。

6.         如果连接成功,则“连接”按钮被置灰,而“断开连接”按钮被置亮,点击该按钮即断开与单板的连接。

7.         如果连接失败,则系统会提示用户连接失败,这时请检查与单板的物理连接和连接的参数配置是否都正确。

                                步骤 2     芯片类型检测

l   PC端的HiReg工具与单板成功建立连接后,HiReg将立刻进行芯片类型匹配的检测。该检测是对比用户在工具平台上选择的当前芯片类型和用户所实际物理连接的单板的芯片类型。

l   如果类型一致,则通过检测,用户可继续进行寄存器读写操作。如果类型不一致,则系统提示用户类型检测不通过,这时无法进行寄存器和的调试功能,用户可自行检查单板类型后再次尝试。

                                步骤 3     查询、添加寄存器,查看寄存器描述信息:

l   查询

当通过了芯片类型检测后,寄存器浏览器视图里即显示出了该芯片的树形结构。用户可在寄存器浏览器视图里,对寄存器进行按地址查找或按名称查找。

l   添加寄存器

查询操作完成后,可以将特定的寄存器单个或批量添加到寄存器编辑器里。只有在寄存器编辑器里的寄存器,才可进行读写等操作。

l   查看寄存器描述信息

当寄存器被添加到寄存器编辑器里后,用户可点击某个寄存器,则该寄存器的详细描述信息会在寄存器描述信息视图里显示出来。

以上操作结果如3-20

图3-20 查询、添加寄存器,查看寄存器描述信息

 

                                步骤 4     编辑、读写寄存器数据

l   编辑

       方法1:在寄存器编辑器里选中并读取了某个寄存器数值,可在编辑器下方的单元格里双击,直接编辑该寄存器的值(此时的编辑只是在PC端的内存里编辑,只有执行了写入操作后,该值才会写入到板端)。

       方法2:选中该寄存器,在编辑器上方的32位数据编辑器里,通过双击的方式,按位编辑寄存器数据值。内容被改变的寄存器数据单元格,字体颜色会更改为红色。

l   读写寄存器

       读寄存器

用户在寄存器编辑器里选中某个寄存器后,可通过鼠标右键,单个或批量读取寄存器的值。

       写寄存器

用户可批量写入或单个写入在编辑器里的寄存器单元格数值。

以上操作结果如3-21

图3-21 编辑、读写寄存器数据

 

                                步骤 5     导入导出寄存器数据

选择Hireg工具栏中,选择数据导出按钮,可将当前寄存器编辑器中的数据导出到后缀名.data的数据文件中。选择数据导入,可以将已导出的后缀名为.data的数据文件导入到寄存器编辑器中。

                                步骤 6     对比寄存器数据

从文件导入寄存器数据到寄存器比较器,点击刷新按钮,从板端读取寄存器数据到寄存器比较器,并完成数据的比对,从板端加载上来的值如果与文件中的值不匹配,将会高亮显示,用户可以选中某一条,右键将该寄存器的文件值写入设备,或点击工具栏上的全写将所有不匹配的文件值写入单板。注意:并不是所有的值都能成功写入设备,有些寄存器是不允许修改的。

以上操作结果如3-22所示。

图3-22 寄存器对比视图界面

 

                                步骤 7     定时读取及录制寄存器

在寄存器编辑器中,点击HiReg工具栏中的定时读取按钮,设定定时读取的时间间隔为300毫秒,数据文件为C:\TestData.data,确定后开始定时数据录制。可在控制台里看到工具在不断的刷新读取数据,并在编辑器里也相应的刷新数据值。被录制的数据文件也在不断增大,录制数据被不断写入。

以上操作结果如3-23所示。

图3-23 定时读取及数据录制参数设置对话框

 

                                步骤 8     首选项配置参数

l   写后读:若启用功能,则当执行写完成后,再执行一次读操作,将所写的数据重新。

l   自动写:若启用功能,当编辑完成时,将新值写入单板。

l   自动加载:若启用该功能,当将寄存器浏览器中的寄存器添加到寄存器编辑器时,从板端加载新数据。

3-24所示。

图3-24 首选项配置参数

 

----结束


4 内存调试界面及其功能

4.1 功能概述

HiReg可用于对芯片的DDR内存数据进行调试,支持以下功能特性:

l   支持串口和网口两种方式的连接

l   芯片类型检测

连接的设备与当前芯片是否匹配,不会影响内存视图的正常使用

l   多个内存视图

可添加多个内存视图,对多个不同的内存地址数据块进行编辑和对比

l   内存数据读写

支持对内存数据的单个及批量读写,支持定时读取功能

l   内存数据浏览及编辑

l   内存数据导入导出及对比

l   控制台输出

4.2 设备内存视图

设备内存视图界面如4-1所示。

图4-1 内存视图界面

 

4.2.1 设备内存视图工具栏

图4-2 内存视图工具栏

memory_view_toolbar

 

工具栏图标说明如下:

l   read

       功能:读数据

       说明:从设备读取数据

l  

       功能:定时读任务

       说明:开启,或停止定时任务

l   write

       功能:写数据

       说明:将编辑器中的数据写入设备

l   import

       功能:导入数据

       说明:将文件中的内存数据导入到编辑器中

l   write

       功能:导出数据

       说明:将编辑器中的数据导出到文件

l   new_memoryview

       功能:新增内存视图

       说明:打开一个新的内存视图

l   compare_view

       功能:内存视图比较器

       说明:打开内存视图比较器

4.2.2 数据定义区

内存视图数据定义图如4-3所示。

图4-3 内存视图数据定义图

 

l   Start Address

       说明:读取数据的起始地址,无初始值。

       格式:十六进制,不需要输入前缀“0x”。

l   Length

       说明:读取数据的长度,初始长度为256

       格式:十进制,必须4字节对齐,如果不对齐,自动向上调整,如输入1,则调整为4;输入7,则调整位8

l   Column Count

       说明:该寄存器的绝对地址,初始列数位4

       格式:十进制:124816

l   Data Byte Count

       说明:编辑器中数据单元所容纳的字节数,初始字节数位4

       格式:十进制:124

l   Format

       说明:该寄存器的当前值的对应的位值信息,初始格式为Hex

       格式:字符串:Hex(十六进制)Dec(十进制)

4.2.3 数据编辑

内存数据编辑区域如4-4所示,显示的内容是从目标单板上用户指定的地址按用户指定的长度读取所得,其显示样式用户都可以指定,包括:列数,每列的字节数。

图4-4 按位编辑数据

 

l  输入的值必须同选择的数据展现样式一致。

l  如选择Hex,则必须输入十六进制格式的值,并且输入的长度不能大于原先的长度,如果小于原先的长度,则高字节会自动补零。

l  如选择Dec,则必须输入十进制格式的值, 如果输入的数值过大,则会自动转换为合适的数值,与字节数相关。

 

4.2.4 位编辑区

内存编辑视图支持按位查看并编辑某个数据单元格的值。用鼠标选中要查看和编辑的内存单元格,位编辑器会自动显示该内存单元格的内容。

图4-5 按位编辑图

 

l   双击某个位值,该位值会自动0-1切换,并同步到数据区。

l   数据单元格编辑:

双击该单元格,则激活编辑器,此时可输入相应的值并回车完成编辑,或按“Esc”取消编辑。

4.2.5 操作

l   读取内存数据
输入起始地址后,回车或点击内存视图工具栏上的读取按钮,即可读取DDR内存数据。

l   写入内存数据
点击工具栏上的写入按钮,即可将DDR数据写入到单板。

l   定时读取

与寄存器的定时读取类似,DDR内存也可设置定时读取,操作方法与寄存器的定时读取设置类似。

l   改变样式

       长度:在数据定义区输入长度(最大65536),并按回车键。

       列数:在数据定义区切换列数。

       字节数:在数据定义区切换字节数。

       数据进制格式:在数据定义区切换数据格式。

4.3 内存数据对比视图

内存数据对比视图界面如4-6所示。

图4-6 内存数据对比视图界面

 

该工具是专门为两个内存数据比对而设计的,所以要使用该视图,需要内存视图的配合。

 

比对方式为相同的偏移地址进行同一比对,与起始地址无关。

4.3.1 工具栏

内存数据对比视图工具栏如4-7所示:

图4-7 内存对比视图工具栏

 

通过工具栏上的按钮可选择,两个相同或不同的内存视图,来比对它们的数据是否一致。

4.3.2 数据区域

如果数据不一致,则相应的值会高亮显示。

图4-8 内存比较视图

 

如果数据一致,则保持样式风格不变。

图4-9 内存比较视图页面

 

4.4 内存调试实例

4.4.1 说明

在本实例中,我们将连接单板,并进行内存的读写操作及数据导入导出和对比操作。 通过本实例的演练,用户可更好的掌握内存调试工具的使用。

4.4.2 操作

操作步骤如下:

                                步骤 1     连接单板

【串口连接】

1.         在工具栏上,点击“工具管理器”按钮,打开工具管理器界面。

2.         在工具管理器里,新建一个串口连接,并修改参数配置如下:

       串口:COM1

       波特率:115200

       数据位:None

       停止位:None

       奇偶校验位:None

       数据流控制:None

       超时:5

3.         点击添加。

4.         通过串口连接单板和开发用的PC机,确认连接串口是COM1,给单板上电。等单板启动完毕,下拉选择连接为刚创建的串口连接项,点击工具栏上的“连接”按钮,工具会建立与单板的串口连接。

5.         如果连接成功,则“连接”按钮被置灰,而“断开连接”按钮被置亮,点击该按 钮即断开与单板的连接

6.         如果连接失败,则系统会提示用户连接失败,这时请检查与单板的物理连接和连 接的参数配置是否都正确。

【网口连接】

1.         在工具栏上,点击“工具管理器”按钮,打开工具管理器界面。

2.         在工具管理器里,新建一个Telnet连接,并修改参数配置如下:

       IP地址:192.168.1.6

       端口:telnet(23)

3.         点击添加。

4.         通过网口连接单板和开发用的PC机,给单板上电。

5.         等单板启动完毕,下拉选择连接为刚创建的网口连接项,点击工具栏上的“连接” 按钮,工具会建立与单板的网口连接。

6.         如果连接成功,则“连接”按钮被置灰,而“断开连接”按钮被置亮,点击该按 钮即断开与单板的连接。

7.         如果连接失败,则系统会提示用户连接失败,这时请检查与单板的物理连接和连接的参数配置是否都正确。

                                步骤 2     芯片类型检测

PC端的HiReg工具与单板成功建立连接后,HiReg将立刻进行芯片类型匹配的检测。该检测是对比用户在工具平台上选择的当前芯片类型和用户所实际物理连接的单板的芯片类型。如果类型一致,则通过检测,用户可继续进行内存数据读写操作。如果类型不一致,则系统提示用户类型检测不通过,这时无法进行寄存器和的调试功能,用户可自行检查单板类型后再次尝试。

 

                                步骤 3     添加内存数据到编辑区

输入要添加内存的起始地址,内存长度(默认256字节),回车后即可将指定地址、指定长度的内存数据添加到内存编辑区。

                                步骤 4     编辑、读写内存数据

l   编辑

       方法1:用户在内存数据编辑器里选中并读取了某个内存数值,可在编辑器下方的单元格里双击,直接编辑该内存的值(此时的编辑只是在PC端的内存里编辑,只有执行了写入操作后,该值才会写入到板端)。

       方法2:可选中该内存数据,在编辑器上方的32位数据编辑器里,通过双击的方式,按位编辑内存数据值。

l   读写内存数据

       读内存数据

在内存数据视图右上角的工具栏中点击读取按钮,添加到内存编辑区的内存会被工具从单板上重新读取数据。

       写内存数据

在内存数据视图右上角的工具栏中点击全写按钮,添加到内存编辑区的内存会被工具重新写入到单板。如果选择了自动写,则当用户编辑了某单元格的内容,修改后的数据会被自动写入到单板的对应内存地址上。

                                步骤 5     导入导出内存数据

选择Hireg工具栏中,选择数据导出按钮,可将当前内存编辑区中的数据导出到后缀 .data的数据文件中。选择数据导入,可以将已导出的后缀名为.data的数据文件导入到内存数据编辑器中。

                                步骤 6     对比内存数据

当打开多个内存数据视图时,用户可通过内存比较视图比较其中任意两个视图中的内存数据。点击内容比较视图右上角的两个按钮,分别指定比较器中左右两列要对应的内存数据视图。不一样的行将以黄底红字进行表示。

                                步骤 7     定时读取及录制内存数据

在内存数据视图右上角的工具栏中点击定时读取按钮,设定定时读取的时间,间隔为300毫秒,确定后开始定时读取内存数据。可在控制台里看到工具在不断的刷新读取数据,并在编辑器里也相应的刷新数据值。

                                步骤 8     首选项配置参数

l   写后读:若启用功能,则当执行写完成后,再执行一次读操作,将所写的数据重新。

l   自动写:若启用功能,当编辑完成时,将新值写入单板。

l   自动加载:若启用该功能,当将内存数据添加到内存数据编辑器时,自动从板端加载数据

 ----结束

 


5 UBoot模式下的调试

5.1 概述

除了Kernel下的寄存器调试,现在HiReg还支持UBoot下的寄存器调试功能。进行UBoot下的寄存器调试时,只能使用串口连接。且因缺少命令支持,UBoot下的调试不支持I2C

5.2 切换到UBoot模式

每次使用平台框架的连接管理器进行串口连接时,会弹出模式切换窗口,提示用户是否进入UBoot模式下的调试(若HiReg首选项中模式选择选项被取消则不会出现)。

图5-1 切换模式对话框

 

点击“进入UBoot模式”即可进入UBoot下的调试功能。

 

点击进入UBoot模式的按钮后,需要将单板下电后重新上电。请按照HiReg控制台的提示操作。

5.3 控制模式切换对话框的弹出

如果用户仅需要Kernel模式下的调试功能,可以在模式切换对话框弹出后,勾选“下次不显示该对话框”,直接以“Kernel模式执行”的复选框。此后下一次进行串口连接时,程序将不再提示用户切换调试模式。

如果需要重新弹出该对话框,请点击菜单中的【窗口】->【首选项】,打开选项窗口,并在HiReg的选项下勾选“串口连接”成功时,打开“模式切换对话框”的复选框,并保存设置。如5-2所示。

图5-2 重新启用模式切换对话框

 


6 FAQ

6.1 串口无法连接

问题描述

打开HiReg工具,在工具栏中,选择“连接管理器”按钮,配置串口连接,保存成功后,在工具栏中点击连接按钮,串口无法连接。

解决办法

请按如下步骤进行检查:

                                步骤 1     检查单板与PC机的串口物理连接是否正确,端口是否正确。

                                步骤 2     如果连接和端口都正确,则再检查连接管理器里该连接的参数配置是否正确。

                                步骤 3     如果参数配置也正确,请重启单板,并等单板启动完成后,再次尝试。

----结束

6.2 网口无法连接

问题描述

打开HiReg工具,在工具栏中,选择“连接管理器”按钮,配置网口连接,保存成功后,在工具栏中点击连接按钮,网口无法连接

解决办法

请按如下步骤进行检查:

                                步骤 1     检查单板与PC机的网口物理连接是否正确,IP地址是否配置正确,是否可ping通。

                                步骤 2     如果网口连接正确,则再检查连接管理器里该连接的参数配置是否正确。

                                步骤 3     如果参数配置也正确,请重启单板,并等单板启动完成后,再次尝试。

----结束

6.3 芯片类型不匹配

问题描述

在工具平台首页选择芯片手册,打开HiReg工具视图,在寄存器浏览器视图中显示芯片类型与打开的工具不匹配。

解决办法

当系统提示芯片类型不匹配时,请检查工具平台的当前芯片类型是否与您实际使用的单板型号匹配。工具平台的芯片型号在这里可以找到(主菜单>芯片>当前芯片)。

 

 


A 缩略语

D

DDR

Double Data Rate

双倍速率同步动态随机存储器。

I

I2C

InterIntegrated Circuit

两线式串行总线,用于连接微控制器及其外围设备。

IP

Internet Protocol

TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议。

P

PC

Personal Computer

面向个人使用的计算机。键盘、鼠标、主机、显示器为最基本的组成部分。