什么情况下会进入: MemManageException

[复制链接]
4069|12
 楼主| hqqymh 发表于 2010-4-23 15:45 | 显示全部楼层 |阅读模式
TI, IO, ge, ce, AN
最近调试文件系统 经常进入MemManageException  现在没头绪 请大家指点一下
香水城 发表于 2010-4-23 15:47 | 显示全部楼层
在MemManageException中放一个断点,调试停在此断点后,通过堆栈看看最后执行的是哪个函数,这样回溯应该会有线索。
 楼主| hqqymh 发表于 2010-4-23 19:34 | 显示全部楼层
我知道执行到哪个地方就跳到这个函数里头   但是什么原因引起的呢 又该怎么解决呢
 楼主| hqqymh 发表于 2010-4-23 19:45 | 显示全部楼层
今天搞了一天 问题还是没有得到解决,香主有什么更好的建议吗
xsgy123 发表于 2010-4-23 20:03 | 显示全部楼层
再往前找还是没头绪吗
香水城 发表于 2010-4-23 20:09 | 显示全部楼层
我知道执行到哪个地方就跳到这个函数里头   但是什么原因引起的呢 又该怎么解决呢
hqqymh 发表于 2010-4-23 19:34


什么原因引起的就不好说了,一般多数是存储器访问越界造成的,你的具体原因要按照我2楼说的办法寻到源头才能搞清楚。
ShakaLeo 发表于 2010-4-23 20:17 | 显示全部楼层
NVIC那部分有个寄存器Memory Manage Fault Status Register, 查那个寄存器能找到具体原因,实在分析不出来就把有问题的那个部分代码发来看看。
hsbjb 发表于 2010-4-23 21:01 | 显示全部楼层
有专门的错误状态寄存器,这个功能之前一直没用过
sinadz 发表于 2010-4-23 22:01 | 显示全部楼层
有这个寄存器吗,我想有也很难一步指出错误的直接原因,还是要一步步进行调试
linqing171 发表于 2010-4-24 07:55 | 显示全部楼层
异常中断设断电,并修改为直接返回。
会回到出错的语句。
 楼主| hqqymh 发表于 2010-4-24 10:44 | 显示全部楼层
源码基于 stm32zet6 + K9F1G08+FATFS    这个工程之前能正常运行正常 但我稍微改了一下就一直进入异常 当我再改回来的时候还是进入同样的异常 希望哪个朋友能抽出点时间帮我看一下 感激不尽 我一直没能解决

nand_fatfs.rar

3.47 MB, 下载次数: 9

byeyear 发表于 2010-4-24 17:43 | 显示全部楼层
我知道执行到哪个地方就跳到这个函数里头   但是什么原因引起的呢 又该怎么解决呢
--------------------------------------------------------------------------------------------
既然知道执行到哪个地方就跳,看反汇编应该很容易发现问题。
分析一下进入fault之后的堆栈结构,根据r15找到引起fault的指令。
俺一直是这么干的
秋天落叶 发表于 2010-4-24 19:37 | 显示全部楼层
方法值得借鉴,分析一下进入fault之后的堆栈结构,这个具体怎么分析
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:继续奋斗

8

主题

43

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部