基于GR5515移植DWT_Point

本文背景:

在分析hardfault 现场时,往往会遇到一个比较头疼的问题是内存越界/踩踏,从现场中分析只能确认到某些变量,某些寄存器的值被异常改写。被改写的时刻并非当下,有可能发生在几分钟之前,此时再去分析堆栈就很找到根本原因。

故需要一种手段去监控变量/地址的值,一旦发生改变,就触发中断,并while 1现场。

采用arm跟踪组件:数据观察点与跟踪(DWT)  可以实现这个目的

下文是介绍 如何基于GR5515系列移植DWT组件,同时该组件也支持GR5x其他系列。

1..将dwt_monitor.c和dwt_monitor.h这两个文件添加到应用工程中

2..将里dwt_monitor.h里的宏定义DWT_MONITOR_HANDLER_TYPE设为自己想要的监控提示类型。

       复现概率较高,且方便引出jlink的,建议采用2;

3.在用户main函数初始化时,调用debug_monitor_init接口设置要监控的地址、监控的范围和监控的行为,其

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值