功能特性
1、TOOL可以实现这个功能的基础:SWD接口函数,读写各种类型数据,内存和寄存器等
2、MDK, IAR等在线调试有两个重要功能,一个是断点,单步调试等玩法。还有一个就是外设寄存器状态,内存数据等实时检测。我们本次要实现的是后者,当前TOOL就可以读写外设寄存器,但是需要看IC数据手册来获取外设地址,非常不方便。针对这个问题,IC厂家都有推出CMSIS-SVD文件,这个文件包含了所有外设寄存器地址,甚至每个寄存器每个bit的含义。所以TOOL能够解析这个文件,意义重大。
3、通过LUA小程序,我们可以离线,WiFi,以太网和USB四种玩法,且支持内网和外网远程。
CMSIS-SVD文件
当前整理了一大批厂家的CMSIS-SVD文件到TOOL软件包里面,不用大家自己找了,没有整理到的,后面再逐步添加,大家也可以直接使用自己电脑上带的。大部分厂家制作的CMSIS-SVD文件都是复合规范的。
操作说明
下载解压到上位机目录h7toolPC_release\Trace\SVD,覆盖原有的Device文件
Device.7z (11.25MB)
比如我们这里查看STM32F429BIT6的几个寄存器.
1、打开监视窗口
2、选择STM32F429的CMSIS-SVD文件
3、选择要监测的外设寄存器,含内核寄存器,都是可以监测的
添加滴答定时器的计数寄存器
添加串口状态寄存器
再添加个IDCode寄存器
4、生成脚本
5、开启监测
如果使用的是带Cache的内核,请勾上这个选项
执行单次刷新:
如果刷新不正常,可以考虑点击下这个执行脚本按钮来重新加载脚本
周期性刷新效果:
5、高级脚本添加变量监测
比如想读取地址0x0800 0000的数据,那么就可以添加代码到高级脚本编辑框
[Lua] 纯文本查看 复制代码 data, re = pg_read32(0x08000000)
if(re == 1) then
print("读取成功:")
print_hex(data)
else
print("读取失败")
end
然后就可以刷新数据了
|