当前位置:网站首页>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章节
边栏推荐
- Put Cloudflare on the website (take Tencent Cloud as an example)
- 【JVM调优】Xms和Xmx为什么要保持一致
- Summary of Text Characterization Methods
- typescript65-映射类型(keyof)
- 游戏思考19:游戏多维计算相关:点乘、叉乘、点线面距离计算
- 技术分析模式(九)三重顶部和底部
- 任务流调度工具AirFlow,,220804,,
- 【工具配置篇】VSCode 常用使用总结
- [Shanghai] Hiring .Net Senior Software Engineer & BI Data Warehouse Engineer (Urgent)
- 一天学会从抓包到接口测试,通过智慧物业项目深度解析
猜你喜欢
开源中国活动合作说明书
蓝牙gap协议
(2022杭电多校六)1010-Planar graph(最小生成树)
腾讯实习总结
Flink Learning 10: Use idea to write WordCount and package and run
一天学会从抓包到接口测试,通过智慧物业项目深度解析
MySQL: join query | inner join, outer join
Vulnhub靶机:HA_ NARAK
typescript67-索引查询类型
400 times performance improvement 丨 swap valuation optimization case calculation
随机推荐
武田公司2022财年第一季度业绩强劲;正稳步实现全年的管理层指引目标
性能提升400倍丨外汇掉期估值计算优化案例
【JVM调优】Xms和Xmx为什么要保持一致
开源中国活动合作说明书
(2022杭电多校六)1010-Planar graph(最小生成树)
691. 立方体IV
(JLK105D)中山爆款LED恒流电源芯片方案
软件测试必问面试题(附答案和解析)
Shiny02---Shiny exception solution
typescript67-索引查询类型
技术分析模式(十)头肩图案
GAN generates anime avatar Pytorch
Task flow scheduling tool AirFlow,, 220804,,
TCP sticky packet unpacking problem + solution
TCP的粘包拆包问题+解决方案
Tencent Business Security Post IDP Talk Summary
Mysql主从延迟的原因和解决方案
工作3年,回想刚入门和现在的今昔对比,笑谈一下自己的测试生涯
TRACE32——SMP多核调试
FPGA parsing B code----serial 4