野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11140|回复: 6

STM32F407在UCOSIII上运行FATFS进入hardfault,求助!!

[复制链接]
发表于 2017-8-9 09:34:58 | 显示全部楼层 |阅读模式
本帖最后由 hunt 于 2017-8-9 10:08 编辑

如题,使用STM32F407跑UCOSIII系统,使用火哥的SD卡驱动程序,但是现在是程序运行一段时间后就会进入hardfault,报的是用法错误,我增大系统堆栈及任务堆栈,没看见有溢出情况,但是每次都是进入INVPC错误,然后我找错误,跳转至void SDIO_IRQHandler(void)出中断的地方,我加上嵌套函数和不加上都出错,我就很疑惑了,火哥的综合例程里面也没有加通知OS进出中断的函数啊,问下大家这种到底怎么找到错误?
3.png
4.png
5.png
7.png
回复

使用道具 举报

发表于 2017-8-9 10:06:06 | 显示全部楼层
用法错误是什么鬼,我们综合例程就有ucos加SD卡,可以参考下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-9 10:12:17 | 显示全部楼层
flyleaf 发表于 2017-8-9 10:06
用法错误是什么鬼,我们综合例程就有ucos加SD卡,可以参考下

火哥,我就是参考你们的FATFS做的,我是按照你的综合例程的用法操作的,我这边是一个任务写数据到SD卡,一个任务读取,我看你加上互斥信号量了,所以我直接调用的f_open f_read f_close等函数,基本上跑没几分钟就进hardfault,我调大了主堆栈和任务堆栈,都不管用。
回复 支持 反对

使用道具 举报

发表于 2017-8-9 10:20:01 | 显示全部楼层
hunt 发表于 2017-8-9 10:12
火哥,我就是参考你们的FATFS做的,我是按照你的综合例程的用法操作的,我这边是一个任务写数据到SD卡, ...

用我们移植好的配置,像ffconf.h dickio.c文件,对比一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-9 10:27:28 | 显示全部楼层
flyleaf 发表于 2017-8-9 10:20
用我们移植好的配置,像ffconf.h dickio.c文件,对比一下

有两个地方不太理解,我使用的是中断分组2,将sdio irq中断优先级改为0,0和DMA改为0,1,不影响功能对吧。另外我两个任务读写SD卡,不需要再加上互斥信号量了吧,我看FATFS里面已经加入互斥锁了。
回复 支持 反对

使用道具 举报

发表于 2017-8-9 10:29:38 | 显示全部楼层
hunt 发表于 2017-8-9 10:27
有两个地方不太理解,我使用的是中断分组2,将sdio irq中断优先级改为0,0和DMA改为0,1,不影响功能对吧。 ...

加上去试下,我一直感觉fatfs自己的互斥锁不起作用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-9 12:54:37 | 显示全部楼层
flyleaf 发表于 2017-8-9 10:29
加上去试下,我一直感觉fatfs自己的互斥锁不起作用

火哥,别呀,你这么一说我都没底了,我现在在任务里加入互斥锁,然后你们的fatfs就改了中断优先级,跑着跑着就进入hardfault,我现在都不知道怎么查错了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 10:07 , Processed in 0.041141 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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