TRACE32——外设寄存器查看与修改

TRACE32——外设寄存器查看与修改

本文介绍外设寄存器,例如I2C、GPIO、SPI、CAN等如何在TRACE32中灵活查看与修改。

首先,外设寄存器的查看与修改,离不开TRACE32的外设文件(*.per),per文件一般存在于TRACE32的安装根目录下。

一般情况下,在调试时,TRACE32会根据当前选择的芯片名自动选择合适的per文件,此时只需要执行命令

per

或者通过鼠标点击CPU-Peripherals进行打开

图片

或者可以显示地指定查看哪个外设寄存器文件

per.view ~~\perj721e.per    //~~表示TRACE32安装根目录, 例如D:\T32
per D:\T32\perj721e.per     //效果等同于上面的命令

如果需要修改某个外设寄存器的值,可以找到对应寄存器的位置,右键,选择Set或者Modify进行修改

图片

命令改写外设寄存器的方法如下:

PER.Set.simple ASD:0x40000000 %Long 0x77700000 

在TRACE32中可以显示某个位域的值,也可以按位域进行修改,只需要找到需要修改的位域,右键,按照提示进行切换值即可:

图片

用命令改写位域的方法如下:

PER.Set.Field ASD:0x40000000 %Long 0x007c0000 0x5

其中

ASD:0x40000000是外设寄存器地址

%long 表示寄存器位宽为32bit

0x007c0000是mask

0x5是要改写的value

改写的规则如下

图片

即:

NewData=(OldData&~mask)|((value<<offset(mask))&mask)

更多用法1 高亮显示变化的值

可以使用如下命令,将发生变化的值以高亮显示:

per , /SpotLight 

其中:

逗号“,” 是一个缺省占位符,表示使用默认的per文件进行显示

因为per命令的完整格式应该如下:

PER.view [<file> [[<args>] "<subtree_path>"] [/<option>]]

PER.view可以简写为PER

如果需要/<option>的时候,<file>可以不写,但必须用逗号来进行缺省占位

图片

更多用法2 实时显示变化的值

部分平台,会默认开启实时显示;如果没有默认开启,可以手动执行命令

;SYStem.MemAccess <实时显示的数据通道>
;例如ARM上可以使用DAP
SYStem.MemAccess DAP
per , /SpotLight /Dualport

/Dualport 用于实时显示

图片

更多用法3 全部展开

有些时候,希望一个命令能展开所有寄存器方便查看,可以使用

per , "*" 

也可以只展开相应的寄存器组,例如展开GPIO Ports的所有寄存器:

per , "GPIO Ports,*" 

图片

更多用法4 保存和导出

外设寄存器的窗口所有内容打印到txt等文件中进行保存。

除了WinPrint,外设寄存器还可以使用对应的命令保存成cmm脚本。例如,

将GPIO的Port33相关寄存器全部保存到D:\saved_gpio.cmm

per.STOre D:\saved_gpio.cmm , "GPIO Ports,Port 33" 

保存的脚本内容类似这样:

图片

后面如果要恢复寄存器的值,可以直接运行cmm脚本

Do D:\saved_gpio.cmm

更多关于外设寄存器相关的命令可以参考如下文档:

  • <T32安装目录>\pdf\general_ref_p.pdf\Per章节
  • https://www2.lauterbach.com/pdf/general_ref_r.pdf\Per章节

图片

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值