加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 资料介绍
    • 前言
    • DWT 介绍
    • 实验
    • 小结
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

LAT1256 使用STM32的DWT单元监控内存

03/25 14:42
695
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1256 使用STM32的DWT单元监控内存

380.17 KB

前言

关于 DWT(Data watchpoint and trace unit),相信有很多工程师都知道,其可用于 us级别的延时。

今天想和大家分享的是,通过 DWT 检测特定内存变量或函数,当其被修改或被调用时时,可以触发中断,通过这样的方式,实现一些特殊的调试手段。

DWT 介绍

U5 的 DWT comparator 有以下特性:

1) 用作指令地址匹配或数据地址匹配的单一比较器

2) 在链接组中使用相关的地址范围匹配或数据地址范围匹配。

实验

刚好我手中有块 STM32U575 的 Nucleo 板子,可以拿过来进行功能验证。

首先我们通过 STM32CubeMX 实现了基本的串口输出打印的工程,然后在此工程中,按照以下步骤,添加 DWT 的配置 :

1, 使能 tracing 功能;

2, 使能调试中断功能;

3, 配置 comparator 寄存器

4, 配置 function 寄存器

小结

这是一个非常有意思的实验,如果是在调试界面,那么 DebugMon_Handler 的中断将以断点的形式呈现。我们在实际应用中,可以通过这样的调试手段,来分析一些问题

资料预览

点赞
收藏
评论
分享
加入交流群
举报

相关推荐