前言
本文以一个实例,讲解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
见 对应 即 所以修改缓冲区按照WORD对齐。<
的<>.
Load address misaligned
。正是lw
指令寄存器a1
间接寻址非WORD
对齐地址0x28429ddd
导致。jpeg2usbpacket
函数传入的指向缓冲区的指针参数非WORD
对齐导致。
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
嵌入式
+关注
关注
4982文章
18281浏览量
288459 -
调试
+关注
关注
7文章
527浏览量
33625 -
程序
+关注
关注
114文章
3631浏览量
79543 -
函数
+关注
关注
3文章
3868浏览量
61309 -
RISC-V
+关注
关注
41文章
1901浏览量
45045
发布评论请先 登录
相关推荐
浅谈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是区别于 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-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
评论