ARM DS5仿真器使用记录

1扫描单板

打开“开始”——>“程序”——>ARM DS-5”——>Debug Hardware”——>Debug Hardware Configuration”,出现“Debug Hardware Config”窗口,在列表中可以看到扫描到的仿真器。选中后,双击连接。

如果列表中出现多个,不确定是哪个时,可以点击“Identify”,之后在仿真器上的“Dstream”标识会闪烁5秒钟。

在连接后弹出的窗口中,去掉“Use adaptive clock if detected”选项前的√,然后选择“Auto Configure”。

如果扫描成功则出现JTAG扫描链,若不成功请检查单板连接。

保存退出。假设保存为test.rvc

2 从RVC文件创建平台配置文件

DS-5和之前的realview不同,不能直接连接处理器。DS-5拥有一个数据库,包含所支持的单板和处理器。对于一个新的单板,需要添加到数据库中。一次添加后,以后就不用再添加了。

 

Debug Hardware Config自动配置产生的文件,通过工具cdbimporter来导入,工具位于安装目录的sw\cdbimport目录下。

在安装目录下新建文件夹,假设命名为ds-5_configdb

从开始菜单中打开DS-5 command prompt工具,转到cdbimport目录,运行cdbimporter.bat工具:

D:\Program Files\DS-5\sw\cdbimport>cdbimporter.bat -c "D:\Program Files\DS-5\sw\debugger\configdb" -t "D:\Program Files\DS-5\ds-5_configdb" "D:\test.rvc"

Select a core to modify (enter the index and hit return) or press enter to continue. [] :这儿按回车

Enter Platform Manufacturer
[default:'Imported'] >  input manufacturer name, whatever

Enter Platform Name
[default:'target'] > input platform name

完成后在ds-5_configdb目录下会生成配置文件。

 

cdbimporter.bat使用方法:

cdbimporter [-c config_db] [-t destination_db] rvc_file

config_db - full path to main DS-5 configuration database
destination_db - full path to new configuration database
rvc_file - full path to RVC file produced by the Hardware Configuration utility

 

打开Eclipse

选择菜单“Windows”下的“Preferences

展开“DS-5”配置组,选择“Target Database

点击“Add…”,选择新创建的database目录

点击“Rebuild database...”,重新生成database,完成后退出。

3 连接单板

Eclipse中,选择菜单“Run”下的“Debug configuration”,弹出窗口,

选择左栏中的DS-5 Debugger

点击左上用的新建图标,新建一个配置,

Platform中的列表框中选择新添加的manufature-platform

下方的Connection选择一个仿真器;

 

Debugger页中的Run control选择Connect Only

完成后选择右下角的Debug,即可连接。

4 Memory导入导出

memory窗口中。点击右边的向下三角形,可弹出图中的菜单。

 

5 command

语法:command  [argument] [/flag]…

注释用#打头。

每行只能包含一个命令。

print /x $r0 #打印寄存器值,16进制显示

print $datetime #打印时间

memory set 0x1008 0 0x1234 # Equivalent to set variable *(int*)0x1008 = 0x1234

 

脚本示例:

#echo 显示, #开始的是注释行

echo  init script for ds-5.

 

#usage: write_reg_bit reg_addr bitstart bitcount val

#eg. write_reg_bit 0x10100000 1 3 4

#    write 4 to 0x10100000, start from bit 1, write 3 bit.

#定义一个命令,参数用arg0,arg1…

define write_reg_bit

    #使用r0寄存器存储中间变量

    #set variable 设置变量的值

    set variable $r0 = *($arg0)

    if $arg1 == 0 && $arg2 ==31

       set variable *($arg0) = $arg3

    else

       set variable $r0 = $r0 & (~(((1<<($arg2 + 1)) - 1) << $arg1))

       set variable $r0 = $r0 | ($arg3 << $arg1)

       set variable *($arg0) = $r0

    end

end

 

#定义一个memory区域,重点是noveriry,写的时候不要读回来校验,因为有些寄存器是写清的,比对的话,脚本会执行失败。

memory 0x0 0x0 rw nocache noverify

#----config slow

#后面的参数从0开始计

write_reg_bit 0x10100068 2 0 0

write_reg_bit 0x10100000 0 2 2

wait 20

#等待

 

 

 

你可能感兴趣的:(ARM)