当前位置:网站首页>TRACE32——外设寄存器查看与修改
TRACE32——外设寄存器查看与修改
2022-08-05 06:42:00 【Rainmicro】
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章节
边栏推荐
- 【JVM调优】Xms和Xmx为什么要保持一致
- MySQL: order by sorting query, group by grouping query
- TCP的粘包拆包问题+解决方案
- Takeda Fiscal 2022 First Quarter Results Strong; On Track to Achieve Full-Year Management Guidance
- 【instancetype类型 Objective-C】
- UDP广播
- In the anaconda Promat interface, import torch is passed, and the error is reported in the jupyter notebook (only provide ideas and understanding!)
- 任务流调度工具AirFlow,,220804,,
- Shiny02---Shiny异常解决
- 给网站套上Cloudflare(以腾讯云为例)
猜你喜欢
Week 8 Document Clustering(文本聚类)
Flink学习10:使用idea编写WordCount,并打包运行
游戏思考19:游戏多维计算相关:点乘、叉乘、点线面距离计算
400 times performance improvement 丨 swap valuation optimization case calculation
MySQL:order by排序查询,group by分组查询
Vulnhub靶机:HA_ NARAK
蓝牙gap协议
It turns out that Maya Arnold can also render high-quality works!Awesome Tips
(4) Rotating object detection data roLabelImg to DOTA format
IO process thread -> communication between processes -> day7
随机推荐
Hash 这些知识你也应该知道
AH8669-AC380/VAC220V转降5V12V24V500MA内电源芯片IC方案
AI+视频技术助力保障校园安全,校园智能安防平台该如何建设?
合工大苍穹战队视觉组培训Day9——相机标定
17-VMware Horizon 2203 virtual desktop-Win10 manual desktop pool floating (seventeen)
TCP sticky packet unpacking problem + solution
2022熔化焊接与热切割操作证考试题及模拟考试
Takeda Fiscal 2022 First Quarter Results Strong; On Track to Achieve Full-Year Management Guidance
MAYA大炮建模
Why does Mysql fail to create a database
Using printf function in STM32
binary search tree problem
691. 立方体IV
线程池的使用(结合Future/Callable使用)
Hong Kong International Jewellery Show and Hong Kong International Diamond, Gem and Pearl Show kick off
技术分析模式(七)发挥差距
typescript67-索引查询类型
typescript65-映射类型(keyof)
RK3568环境安装
MAYA船的建模