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

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

3天内不再提示

RISC-V未对齐导致问题案例

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

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

未对齐导致问题案例 (qq.com)

前言

本文以一个实例,讲解RISC-V未对齐访问导致的问题.

未对齐导致的问题很常见,本文以实例分享调试分析过程。

过程

现象是程序进入了异常中断函数exception()

先分部打端点,结合step单步运行,确认执行哪个函数的哪一句执行后异常。

这里已经确认是rom_usb_uvc.c的984行执行后异常。

在执行异常的语句前打断点

b rom_usb_uvc.c:984

再重新运行到该处

显示汇编界面layout split

图片

stepi按照汇编单步执行

最终确认执行汇编指令

lw a2,0(a1)后异常

图片

查看此时寄存器a1的值。

(gdb) info reg a1
a1             0x28429ddd       675454429

stepi执行完`lw a2,0(a1)``后进入异常处理函数

图片

查看此时mcause寄存器

(gdb) info reg mcause
mcause         0x4      4

<><>.

对应Load address misaligned。正是lw指令寄存器a1间接寻址非WORD对齐地址0x28429ddd导致。

图片

jpeg2usbpacket函数传入的指向缓冲区的指针参数WORD对齐导致。

所以修改缓冲区按照WORD对齐。


审核编辑:汤梓红

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

    关注

    4982

    文章

    18281

    浏览量

    288459
  • 调试
    +关注

    关注

    7

    文章

    527

    浏览量

    33625
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79543
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61309
  • RISC-V
    +关注

    关注

    41

    文章

    1901

    浏览量

    45045
收藏 人收藏

    评论

    相关推荐

    什么是RISC-V

    siFive搞RISC-V 赛昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不问有什么用,RISC-V目前的能力来说,工
    发表于 02-02 10:41

    浅谈RISC-V

    RISC-V社区最近很热闹,也有人来问我的看法。这里胡扯两句。RISC-V这么热闹,媒体功不可没。在中国,媒体就是生产力。在2016年ARM被孙正义收购以后,一下子成为了一个大IP,关注度急剧上升
    发表于 09-11 17:44

    为什么选择RISC-V

    RISC-V是一种开放式ISA(指令集体系结构),为处理器体系结构的创新开创了新纪元。RISC-V基金会由325多家成员公司组成。这是该技术的主要优势。软件架构师/固件工程师/软件开发
    发表于 07-27 17:38

    科普RISC-V生态架构(认识RISC-V)

    RISC-V 生态架构浅析前言RISC-V最近越来越多的出现在科技新闻中,大量的公司加入到RISC-V研究和生产中。在越来越多的RISC-V研究热下,毋容置疑的是
    发表于 08-02 11:50

    RISC-V你了解多少?

    之前不断看到关于RISC-V的内容,今天周末,也学习并整理了一份关于RISC-V的内容。1.RISC-V简介RISC:Reduced Instruction Set Computer,
    发表于 08-13 15:13

    RISC-V有哪些特点

    的不断发展成熟,为了能够保持架构的向后兼容性,其不得不保留许多过时的定义,导致其指令数目多,指令冗余严重,文档数量庞大,所以操作系统或者开发应用门槛就会很高。而RISC-V架构则能完全抛弃包袱,借助
    发表于 08-25 11:17

    RISC-V是什么?如何去设计RISC-V处理器?

    RISC-V是什么?有哪些特点?如何去设计RISC-V处理器?
    发表于 06-18 09:24

    RISC-V是什么

    (刚刚投入芯片行业学习的新人,存在理解错误的地方欢迎指出,并探讨,还请多多包涵,谢谢!) RISC-V是区别于 INTEL x86架构、arm架构的另一种芯片内核架构。 RISC-V,主要区别于当代
    发表于 07-23 06:06

    RISC-V架构简介

    【摘要】 本文首先对RISC-V的架构做了简要的介绍,在此基础上实现了LiteOS在RISC-V架构上的适配过程的具体步骤,希望对你有所帮助。1 RISC-V架构简介RISC-V是一个
    发表于 07-28 07:46

    什么是RISC-VRISC-V指令具有哪些特点应用?

    什么是RISC-VRISC-V指令具有哪些特点应用?自己怎么才能设计出设计一套指令集?
    发表于 10-14 09:05

    RISC-V简介

    RISC-V简介  RISC-V 是一个自由和开放的 ISA(开源指令集架构),通过开放的标准协作实现处理器创新的新时代。RISC-V ISA在架构上提供了一个新的自由、可扩展的软件和硬件自由级别
    发表于 02-27 19:56

    我了解的RISC-V

    其实很早以前就知道RISC-V,但是从来都没有接触过,因为当时做的人还比较少,自从开源了之后,国内国外很多的厂家都开是使用RISC-V来研发自己的芯片,包括国内的很多厂家,比如平头哥,北京兆易创新
    发表于 03-19 10:52

    RISC-V架构

      RISC-V架构  RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。  与大多数指令集相比,RISC-V指令集可以自由地
    发表于 04-03 15:29

    RISC-V 发展

    RISC-V 发展2015年成立了RISC-V基金会,这是个非营利性组织,主要为了维护和发展RISC-V。目前RISC-V的IP供应商大部分是国内的厂商,例如sifive、阿里平头哥、
    发表于 04-14 10:18

    RISC-V对齐访问导致问题案例

    转自公众号,欢迎关注 参考https://mp.weixin.qq.com/s/8wfRFg1XcBsXw5gMq-cKaQ前言 本文以一个实例,讲解RISC-V对齐访问导致的问题.
    发表于 05-06 19:14