OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3747|回复: 6

如何定位由Memory Management Fault的IACCVIOL引发的App_Fault_ISR异常???

[复制链接]

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2018-8-28
在线时间
17 小时
发表于 2019-11-21 15:18:48 | 显示全部楼层 |阅读模式
2金钱
本帖最后由 科西嘉特卫 于 2019-11-21 15:26 编辑

使用将UCOS-III移植到STM32F411RET6做的项目,出现了
App_Fault_ISR\
                PROC
                EXPORT  App_Fault_ISR                 [WEAK]
                B       .  ;BX LR
                ENDP
这个错误,导致各任务只运行了1步就停止运行。经过2天的上网查找资料和排查,尝试网上使用Keil的Call Stack解决Hardfault问题方法,然而无法在HardFault_Handler()中添加断点,Call Stack+Locals中也显示不了产生异常前执行的代码地址,只显示0x00000000。通过检查寄存器R0和R13(LR)的值,依然行不通,因为R0的值为0x00000000。最终,通过FaultReports 异常报告发现,是由于发生了Memory ManagementFault中的IACCVIOL错误,导致HardFault_Handler发生,即“企图从不允许访问的区域取指令”,但没有找到如何定位产生该错误的具体步骤和方法。。。
(后两个图片是网上能够定位到错误位置的截图)


6.JPG
55.JPG
44.JPG
222.JPG
111.JPG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-11-22 01:29:16 | 显示全部楼层
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2018-8-28
在线时间
17 小时
 楼主| 发表于 2019-11-22 09:06:02 | 显示全部楼层
本帖最后由 科西嘉特卫 于 2019-11-22 09:48 编辑

感谢原子哥!有碰到到这样问题吗?还有一个现象就是启动文件里的STACK_SIZE和HEAP_SIZE分别设置为100时,不会出现这个问题,但100的HEAP_SIZE满足不了需求,导致有个比较大的对象申请不了内存,程序运行频率变慢了很多。增大HEAP_SIZE就会出现这个问题,STACK_SIZE大小没有影响但一直找不到是哪个语句访问 了允许的区域。。。。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-11-23 01:43:26 | 显示全部楼层
科西嘉特卫 发表于 2019-11-22 09:06
感谢原子哥!有碰到到这样问题吗?还有一个现象就是启动文件里的STACK_SIZE和HEAP_SIZE分别设置为100时, ...

没遇到过
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2019-7-10
在线时间
20 小时
发表于 2020-4-29 09:45:33 | 显示全部楼层
这个问题最后是怎么解决的呢
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2018-8-28
在线时间
17 小时
 楼主| 发表于 2020-4-29 12:36:22 | 显示全部楼层
Jesaon 发表于 2020-4-29 09:45
这个问题最后是怎么解决的呢

没有解决。。。。。。
这个问题是在原来项目上添加新功能导致的,后来调整了下源码结构, 将新加的代码换到挪到其它源文件中,就没出现这个问题了。
所以这个问题还是不知道是什么原因导致的,也没有直接解决!!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2020-4-30 01:00:59 | 显示全部楼层
帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-28 01:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表