0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V的Store AMO access fault调试实例

嵌入式USB开发 来源:嵌入式USB开发 作者:嵌入式USB开发 2023-06-08 11:10 次阅读

本文转自公众号,欢迎关注

RISC-V的Store AMO access fault调试实例 (qq.com)

前言

本文以一个实例分享RISC-V的Store AMO access fault异常的调试过程。Store AMO access fault主要发生在非法地址访问时(栈溢出,指针异常等)。

过程

现象是程序运行时进入了异常中断,如下

使用bt回溯可以看到进入了异常处理函数exception ()

(gdb) bt


......


#6 0x02002eb2 in exception () at src/lib/riscv/src/exception.c:55


#7 0x00000000 in ?? ()


Backtrace stopped: frame did not save the PC


(gdb)

那么首先想到的是确认异常原因

查看异常寄存器:info reg mcause

可以看到异常原因是0x07

图片

对应的是Store/AMO access fault 异常,这是一个写数据时的异常.

图片

那么接下来就要确认写哪个地方的数据错误了呢?

我们可以通过info reg mtval 查看mtval寄存器看到。

写0x28382ad0时产生了异常.

图片

那么什么时候写这个地址导致了异常呢,之前bt已经看不到回溯的地方了。

我们可以使用数据断点来监控

设置数据断点 watch (unsigned int )0x28382ad0

重新加载程序运行 load

c运行

看到断点停在了memset函数处,这印证了我们前面分析的是写数据导致的问题

图片

继续bt查看

图片

我们找到对应的代码处

图片

看下memset的参数,如果看不到可以在memset前打断点重新运行

图片

最终确认确实是栈初始化时写0x28382ad0这个地址的内容错误,原因是不具备写属性导致异常

(gdb) p pxStack


$8 = (StackType_t *) 0x28382ad0


(gdb)

图片

当然为什么这个地址不能写和这里没关系了,是另外一回事了,是我们的环境DDR的问题。

总结

以上是一个分析实例的过程,遇到类似问题可以参考。有几个关键点一是确认异常原因,异常访问的地址,然后通过数据断点确认什么时候访问了这个地址,到此基本就确认问题了,后面就顺藤摸瓜了。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5076

    文章

    19045

    浏览量

    303853
  • 调试
    +关注

    关注

    7

    文章

    574

    浏览量

    33906
  • 指针
    +关注

    关注

    1

    文章

    480

    浏览量

    70519
  • RISC-V
    +关注

    关注

    44

    文章

    2237

    浏览量

    46074
收藏 人收藏

    评论

    相关推荐

    RISC-V指令异常调试实例

    本文以一个简单的实例介绍RISC-V指令异常的调试过程,思路都是一样的,遇到其他情况时分析过程也类似。
    的头像 发表于 06-08 10:50 1880次阅读
    <b class='flag-5'>RISC-V</b>指令异常<b class='flag-5'>调试</b><b class='flag-5'>实例</b>

    RISC-V PMP调试

    RISC-V PMP调试
    的头像 发表于 06-08 11:52 1862次阅读
    <b class='flag-5'>RISC-V</b> PMP<b class='flag-5'>调试</b>

    RISC-V工作模式及寄存器基本知识

    Instruction 0 3 Breakpoint 0 4 Load address misaligned 0 5 Load access fault 0 6 Store/AMO
    发表于 04-12 14:06

    RISC-V规范的演进 RISC-V何时爆发?

    RISC-V的关注度越来越高,开源的理念也正在被越来越多的开发者和公司接受。对于尚不成熟的RISC-V而言,无论是规范和技术的演进还是生态的建设,还有人才和专利都还有不小挑战。2021年RISC-V
    的头像 发表于 02-11 10:10 3157次阅读

    RISC-V调试标准及跟踪技术

    本文主要详细介绍了RISC-V调试标准以及RISC-V的跟踪技术,感兴趣的小伙伴跟小编一起了解一下吧。
    的头像 发表于 06-23 17:19 2913次阅读
    <b class='flag-5'>RISC-V</b>的<b class='flag-5'>调试</b>标准及跟踪技术

    使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板

    使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板
    发表于 12-06 20:06 7次下载
    使用Eclipse和MCUXpresso IDE<b class='flag-5'>调试</b>RV32M1-VEGA <b class='flag-5'>RISC-V</b>开发板

    关于RISC-V MCU开发实例(一):环境搭建

    关于RISC-V MCU开发实例:咱们以CSM32RV20的开发环境搭建为例子,我们可以参看动能世纪客户分享的案例情况。
    的头像 发表于 07-20 14:17 2352次阅读
    关于<b class='flag-5'>RISC-V</b> MCU开发<b class='flag-5'>实例</b>(一):环境搭建

    RISC-V CPU调试机制的设计原理

    本文将详细介绍RISC-V CPU调试机制的设计原理。
    发表于 10-18 09:19 2195次阅读

    RISC-V学习笔记【1】RISC-V概述

    国产处理器芯片起步较晚,从2013年至今,集成电路每年的进口额均超过了 2000 亿美元。RISC-V和AI(人工智能)芯片是我国最有希望突破的领域之一。RISC-V使用的领域还是对于生态依赖比较
    发表于 11-24 09:28 2610次阅读

    RISC-VRISC-V AI的未来(特邀讲座)

    主题演讲:RISC-VRISC-V AI的未来(特邀讲座)ppt分享
    发表于 07-14 17:15 16次下载

    RISC-V调试和完善的跟踪解决方案

    RISC-V调试和完善的跟踪解决方案ppt分享
    发表于 07-14 17:15 0次下载

    RISC-V设计支持工具,支持RISC-V技术的基础

    RISC-V设计支持工具,支持RISC-V技术的基础 ppt分享
    发表于 07-14 17:15 12次下载

    Imagination CPU 系列研讨会 | RISC-V 平台的性能分析和调试

    为了让开发者及工程师深入了解Imagination的CPU产品及相关解决方案,Imagination将陆续推出5期线上研讨会,包含:RISC-V平台的性能分析和调试RISC-V安全和全球平台可信
    的头像 发表于 08-10 08:28 260次阅读
    Imagination CPU 系列研讨会 | <b class='flag-5'>RISC-V</b> 平台的性能分析和<b class='flag-5'>调试</b>

    RISC-V Summit China 2024 青稞RISC-V+接口PHY,赋能RISC-V高效落地

    第二届RISC-V中国峰会的南京会场;青稞RISC-V的单双线调试技术,在第三届峰会上入选RISC-V新技术与新成果。
    的头像 发表于 08-30 18:18 1412次阅读
    <b class='flag-5'>RISC-V</b> Summit China 2024  青稞<b class='flag-5'>RISC-V</b>+接口PHY,赋能<b class='flag-5'>RISC-V</b>高效落地

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未来 !

    加入RISC-VAdvocate行列!我们正在寻找来自世界各地的RISC-V爱好者,通过全球推广和参与,成为支持RISC-V进步的关键参与者。作为一名RISC-VAdvocate,您将
    的头像 发表于 09-10 08:08 333次阅读
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未来 !