前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志XR806芯片 如何使用watchpoint功能?

全志XR806芯片 如何使用watchpoint功能?

作者头像
阿志小管家
发布2024-02-02 16:05:24
780
发布2024-02-02 16:05:24
举报
文章被收录于专栏:全志嵌入式那些事

1.问题背景 watchpoint,一般用来观察某个变量/内存地址的状态(也可以是表达式),如可以监控该变量/内存值是否被程序读/写情况。

2.问题描述 在程序运行异常的时候,可以借助watchpoint来进行辅助调试。

3.问题分析 在XR MCU SDK中,支持了watchpoint功能,通过使能指定宏以及调用指定函数来使用该功能。

4.解决办法 (1)使能watchpoint的宏开关:export __CONFIG_WATCHPOINT:=y (2)调用watchpoint_add函数添加观察点 以下是代码使用示例:

代码语言:javascript
复制
#include <debug/watchpoint.h>
static int watchpoint_test_value;
static struct watchpoint wp;
static enum cmd_status cmd_watchpoint_value_init(char *cmd)
{
    int ret;
    watchpoint_test_value = 1;
    wp.address = (unsigned int)&watchpoint_test_value;
    wp.length = sizeof(watchpoint_test_value);
    wp.rw = DWT_WRITE;
    ret = watchpoint_add(&wp);
    if (ret) {
        printf("watchpoint_add fail.\n");
    }
    return CMD_STATUS_OK;
}
static enum cmd_status cmd_watchpoint_value_change(char *cmd)
{
    watchpoint_test_value = 0;
    return CMD_STATUS_OK;
}

原贴链接:https://bbs.aw-ol.com/topic/735

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档